QT creator中使用opencv

时间:2021-07-24 09:27:19

最近要用到opencv做图像方面的东西,网上很多是用VS加opencv,但自己对VS不怎么喜欢,想用QT Creator。在网上搜索了很多资料,终于花了一天的时间,在QT Creator上能使用opencv了。

需要的软件:(1)QT Creator。我的版本是4.8.5。这个版本还是在学习亚飞的QT Creator的时候安装的,网上有说QT版本低,而opencv版本高的话,可能在执行mingw32-make命令会报错。因此为了以防万一,我下载的低版本的opencv

(2)opencv。我的版本是2.3.0

(3)cmake 下载地址http://www.cmake.org/cmake/resources/software.html

另外我的计算机的操作系统是xp,32位的。

首先将QT creator, cmake安装好,这个蛮简单的。而安装opencv,设置解压路径就可以了。安装CMake要注意:(1)安装路径不能有中文和空格(2)勾选加入所有境变量中。

将C:\Qt\mingw\bin加入系统变量。

CMake OpenCV,使用CMake(http://www.cmake.org/)生成OpenCV库的makefile文件,需要注意的是解压出来的OpenCV存储路径中的文件夹不要带有空格或者中文(我的是E:\OpenCV,不要用类似于E:\工程\opencv, E:\Open CV这种),打开CMake,指定源码位置(就是OpenCV解压出来的地方)和存放生成文件的地方,Configure弹出如图对话框,选择MinGW Makefiles和Specify native compilers

QT creator中使用opencv

跳出对话框用以指定C++和C的编译器路径,C用gcc.exe,在QtSDK目录下的mingw/bin子目录中,C++用g++.exe:

QT creator中使用opencv

然后再次Configure,无错误后选中WITH_QT

再次Configure会出现下图信息提示找不到Qt的Qmake可执行文件

QT creator中使用opencv

手动指定Qmake.exe所在目录

QT creator中使用opencv(注意这张图是我在网上复制的别人的)

再次Configure,无错误后 Generate。

1> Cmd命令 转到Generate到的目录(我的是F:\OpenCV)

cd F:\OpenCV

2> Cmd命令 编译文件

>> mingw32-make

3> Cmd命令 编译INSTALL

>> mingw32-make install

下面开始配置Qt Creator的OpenCV开发环境,拷贝下面三个文件夹放在同一个文件夹下(只需这三个目录,其余生成的文件和文件夹可以删除,以节省磁盘空间)

(1)OpenCV-2.3.0安装目录下的build/include目录

(2)CMake目标路径下,MinGW编译后的bin目录

(3)CMake目标路径下,MinGW编译后的lib目录

拷贝三个目录到同一目录后的结构如下图(我删除了原来的CMake目标目录中的其他目录,拷贝进来了include目录)

QT creator中使用opencv

将bin目录添加到系统环境变量

至此Qt Creator下的OpenCV开发环境已经配置好,下面在Qt Creator下测试是否已经配置成功

打开Qt Creator,新建一个空工程,然后添加一个cpp文件,任意命名

在pro文件中添加如下OpenCV的依赖文件

INCLUDEPATH+=C:\OpenCV\include\opencv\

C:\OpenCV\include\opencv2\

C:\OpenCV\include

LIBS+=C:\OpenCV\lib\libopencv_calib3d230.dll.a\

C:\OpenCV\lib\libopencv_contrib230.dll.a\

C:\OpenCV\lib\libopencv_core230.dll.a\

C:\OpenCV\lib\libopencv_features2d230.dll.a\

C:\OpenCV\lib\libopencv_flann230.dll.a\

C:\OpenCV\lib\libopencv_gpu230.dll.a\

C:\OpenCV\lib\libopencv_highgui230.dll.a\

C:\OpenCV\lib\libopencv_imgproc230.dll.a\

C:\OpenCV\lib\libopencv_legacy230.dll.a\

C:\OpenCV\lib\libopencv_ml230.dll.a\

C:\OpenCV\lib\libopencv_objdetect230.dll.a\

C:\OpenCV\lib\libopencv_video230.dll.a

这样以后,就可以在主函数中正常编写自己的程序了。

PS:上面的截图都是从网上各个教程里粘贴的,可能看的时候会感觉路径会有问题。