首页 > 代码库 > QT creator中使用opencv

QT creator中使用opencv

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

    Qt_Basic_如何在Qt中使用OpenCV - ___________杰 - __________Ggicci

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

Qt_Basic_如何在Qt中使用OpenCV - ___________杰 - __________Ggicci

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

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

Qt_Basic_如何在Qt中使用OpenCV - ___________杰 - __________Ggicci

手动指定Qmake.exe所在目录

Qt_Basic_如何在Qt中使用OpenCV - ___________杰 - __________Ggicci(注意这张图是我在网上复制的别人的)

再次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目录)

 将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:上面的截图都是从网上各个教程里粘贴的,可能看的时候会感觉路径会有问题。