1:opencv下载源码
在下面网址下载linux版本的源码http://opencv.org/downloads.htmlQt环境的安装配置自行完成(见本博文第7部分)
2:源码解压编译
cd opencv-2.1.0mkdir release && cd releasecmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DWITH_FFMPEG=OFF ..make sudo make install 安装目录为/usr/localopencv的库文件则在 /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 3:error: ‘CODEC_ID_H264’ was not declared in this scope解决方法:方法1:sudo apt-get install libopencv-dev然后以下面的方法重新编译ffmpeg:./configure --enable-shared --disable-staticmakesudo make install方法2:不使用ffmpeg,直接在cmake时禁掉FFMPEG这一项 -DWITH_FFMPEG=OFF4:undefined reference to `cvCreateCameraCapture_V4L(int)'vim opencv-2.1.0/src/highgui/cvcap_v4l.cpp 217 #ifdef HAVE_CAMV4L 218 #include 219 #endifvim 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 -secho "/usr/local/lib" > /etc/ld.so.conf.d/opencv.confsudo ldconfig
5:编译Qt+opencv项目之前,在.pro文件中加入如下内容即可
//加入头文件的路径 编译时使用INCLUDEPATH +=../opencv-2.1.0/include/opencv2//加入需要用到的库,链接时使用unix:!macx: LIBS += -lcvunix:!macx: LIBS += -lcvauxunix:!macx: LIBS += -lcxcoreunix:!macx: LIBS += -lhighguiunix:!macx: LIBS += -lml
6:上一张阴影去除程序的图
7:Qt环境的安装配置
1:下载官方的qt-creator文件qt-creator-opensource-linux-x86_64-3.2.0.run2:从源中安装qt4 or qt5sudo apt-get install qt4-defaultsudo apt-get install qt5-defaultsudo apt-get install qtcreator3:使用qt-creator 新建qt工程在kits-->Qt Versions中,add /usr/bin/qmake-qt4 就可以了