Ubuntu下Qt+OpenCV配置过程
1:opencv下载源码
在下面网址下载linux版本的源码 http://opencv.org/downloads.html Qt环境的安装配置自行完成(见本博文第7部分)
2:源码解压编译
cd opencv-2.1.0 mkdir release && cd release cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DWITH_FFMPEG=OFF .. make sudo make install 安装目录为/usr/local opencv的库文件则在 /usr/local/lib目录下
3:常见编译错误解决办法
1:error ‘ptrdiff_t’ does not name a type opencv 解决方法: 在/include/opencv/cxcore.hpp文件中添加如下一行 using std::vector; using std::string; +using std::ptrdiff_t; //这是加的一行 在56行 2: error: ‘unlink’ was not declared in this scope 解决方法: 在src/highgui/loadsave.cpp中加入如下一行 #include<unistd.h> 3:error: ‘CODEC_ID_H264’ was not declared in this scope 解决方法: 方法1: sudo apt-get install libopencv-dev 然后以下面的方法重新编译ffmpeg: ./configure --enable-shared --disable-static make sudo make install 方法2: 不使用ffmpeg,直接在cmake时禁掉FFMPEG这一项 -DWITH_FFMPEG=OFF 4:undefined reference to `cvCreateCameraCapture_V4L(int)' vim opencv-2.1.0/src/highgui/cvcap_v4l.cpp 217 #ifdef HAVE_CAMV4L 218 #include <linux/videodev.h> 219 #endif vim opencv-2.1.0/src/highgui/cvcap.cpp 把 164 #if defined (HAVE_CAMV4L) || defined (HAVE_CAMV4L2) 改为 164 #if defined (HAVE_CAMV4L) 5:其它的几个错误都是unlike不找不到declare,只面要在相应的源文件中加入unistd.h头文件即可解决 最后终于编译通过: Linking CXX shared library ../../lib/cv.so [100%] Built target cvpy
4:将自己生成的动态链接库的路径加入系统可找到的路径中
sudo -s echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf sudo ldconfig
5:编译Qt+opencv项目之前,在.pro文件中加入如下内容即可
//加入头文件的路径 编译时使用 INCLUDEPATH +=../opencv-2.1.0/include/opencv2 //加入需要用到的库,链接时使用 unix:!macx: LIBS += -lcv unix:!macx: LIBS += -lcvaux unix:!macx: LIBS += -lcxcore unix:!macx: LIBS += -lhighgui unix:!macx: LIBS += -lml
6:上一张阴影去除程序的图
7:Qt环境的安装配置
OpenCV的详细介绍:请点这里
OpenCV的下载地址:请点这里
相关推荐
wangdaren 2020-08-15
greent00 2020-06-10
learningCV 2020-11-10
learningCV 2020-08-25
huang00 2020-08-21
BeanJoy 2020-07-28
csdmeb 2020-06-25
wangdaren 2020-06-14
pythonxuexi 2020-06-13
woniulx0 2020-06-13
liangzuojiayi 2020-06-09
greent00 2020-06-09
csdmeb 2020-06-08
BeanJoy 2020-06-06
lihuifei 2020-06-05
wangdaren 2020-06-03
wangdaren 2020-05-31
greent00 2020-05-30