您的位置:首页 > 编程语言 > Qt开发

Linux ubuntu 14.04 环境下Qt creator中添加OpenCv2.4.9

2015-04-02 08:31 281 查看
首先,感谢佳楠的帮助。

环境:Linux Ubuntu 14.04 QT4.8.5 Qt creator2.8.0 OpenCv2.4.9

OpenCv的安装之前已经说过,QT的安装可自行百度,QT源码编译安装时时间较长,我装了五个小时左右。然后配置Qt creator环境。

现在,开始在Qt creator中添加OpenCv。

1)sudo gedit /usr/share/qt4/mkspecs/default/qmake.conf

在文件内添加了下面两句:

QMAKE_INCDIR = /usr/include/opencv //安装opencv的目录

QMAKE_LIBS = -lcvaux -lcv -lcxcore -lhighgui -lml

2)新建一个空的qt工程,我取名为test。在test.pro文件内添加opencv的动态链接库

如果不知道都有什么,可用 (pkg-config向用户向程序提供相应库的路径、版本号等信息)

pkg-config opencv --libs --cflags opencv >>opencv.config

(--cflags参数提取出编译所需的选项,--libs参数提取出连接时的选项 )

将输出相应的信息在 opencv.config 中,进行修改之后,我的如下:

INCLUDEPATH +=/usr/local/include/opencv \
/usr/local/include
LIBS +=/usr/local/lib/libopencv_calib3d.so \
/usr/local/lib/libopencv_contrib.so \
/usr/local/lib/libopencv_core.so \
/usr/local/lib/libopencv_features2d.so \
/usr/local/lib/libopencv_flann.so \
/usr/local/lib/libopencv_gpu.so \
/usr/local/lib/libopencv_highgui.so \
/usr/local/lib/libopencv_imgproc.so \
/usr/local/lib/libopencv_legacy.so \
/usr/local/lib/libopencv_ml.so \
/usr/local/lib/libopencv_nonfree.so \
/usr/local/lib/libopencv_objdetect.so \
/usr/local/lib/libopencv_ocl.so \
/usr/local/lib/libopencv_photo.so \
/usr/local/lib/libopencv_stitching.so \
/usr/local/lib/libopencv_superres.so \
/usr/local/lib/libopencv_ts.a \
/usr/local/lib/libopencv_video.so \
/usr/local/lib/libopencv_videostab.so

然后把上面的都复制到 test.pro文件内 即可。

3)测试

在main.cpp里使用下面代码

#include <cv.h>
#include <highgui.h>
int main()
{
IplImage *img = 0;
img = cvLoadImage("lena.jpg",-1); //lena.jpg在所建工程的目录下
cvNamedWindow("lena", 1);
cvShowImage("lena", img);
cvWaitKey(0);
return 0;
}

注意的地方是,lena.jpg在所建工程的目录下,指的是在所在工程的debug文件中,如我的在“ build-testopencv-桌面-Debug ”,否则不会显示图片。

然后运行,有图有真相:



至此,QT中添加opencv完成。缺憾的是以后重新写程序是还要自己在 .pro 文件中自己添加依赖库。

网上有一种方法是: 直接将上面的添加的INCLUDEPATH和LIBS内容添加到

sudo gedit /usr/share/qt4/mkspecs/default/qmake.conf

“这样以后就不用在每个工程里配置了,不过移植的时候就需要注意了。”可见于 /article/1619118.html

但我在ubuntu 中试验时发现这种方法并不成功,opencv 所需要的 “cv.h”等还是找不到相应的路径。所以,并未采用这一种方法。

欢迎讨论。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: