你好,游客 登录 注册 搜索
背景:
阅读新闻

Ubuntu下Qt+OpenCV配置过程

[日期:2016-07-16] 来源:Linux社区  作者:cherishsir [字体: ]

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环境的安装配置

1:下载官方的qt-creator文件
qt-creator-opensource-linux-x86_64-3.2.0.run

2:从源中安装qt4 or qt5
sudo apt-get install qt4-default
sudo apt-get install qt5-default
sudo apt-get install qtcreator

3:使用qt-creator 新建qt工程
在kits-->Qt Versions中,add /usr/bin/qmake-qt4  就可以了

OpenCV官方教程中文版(For Python) PDF  http://www.linuxidc.com/Linux/2015-08/121400.htm

Ubuntu Linux下安装OpenCV2.4.1所需包 http://www.linuxidc.com/Linux/2012-08/68184.htm

Ubuntu 12.04 安装 OpenCV2.4.2 http://www.linuxidc.com/Linux/2012-09/70158.htm

CentOS下OpenCV无法读取视频文件 http://www.linuxidc.com/Linux/2011-07/39295.htm

Ubuntu 12.04下安装OpenCV 2.4.5总结 http://www.linuxidc.com/Linux/2013-06/86704.htm

Ubuntu 10.04中安装OpenCv2.1九步曲 http://www.linuxidc.com/Linux/2010-09/28678.htm

基于QT和OpenCV的人脸识别系统 http://www.linuxidc.com/Linux/2011-11/47806.htm

[翻译]Ubuntu 14.04, 13.10 下安装 OpenCV 2.4.9  http://www.linuxidc.com/Linux/2014-12/110045.htm

OpenCV的详细介绍请点这里
OpenCV的下载地址请点这里

更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-07/133229.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款