Win7平台下 opencv2.4.11+CMake+Qt5.8.0 开发环境配置
来源:互联网 发布:中国程序员太多了 编辑:程序博客网 时间:2024/05/03 02:33
为了把代码往arm-linux移植,准备先用qt来重新编译代码。结果用了整整一天半的时间,终于配置成功了。
其中的过程是一步一个坎,极为坎坷,看博客看得要吐,部分环节投机取巧,所幸最后配置成功。
现在就把这一天半以来的配置历程总结一下,也为大家提供借鉴。第一次此写技术博文,多有不足之处,望大家指出改正。
第一步:下载并安装opencv2.4.11,Qt5.8.0,CMake(https://cmake.org/)。Qt要下载mingw版本。
注意:安装时要看好路径,为了小心起见,所有的程序都安装在路径名称上没有汉字、空格、或特殊符号的文件夹中。
第二步:配置qt的环境变量。
在path变量下添加 qmake和cmake的路径:。
添加qt变量。
注意:这里推荐一款小软件,可以很方便直观的实现添加变量和路径:www.rapidee.com 。
第三步:利用CMake配置Opencv(关键步骤)
现在下载的CMake都是免安装版,解压以后就是一个文件夹。在文件夹里的bin文件下,找到cmake-gui 打开。
会出现以下界面,在source code 里添加opencv2.4.11目录下的sources文件,在build the binaries 里选择一个新建的文件夹即可。注意全要用英文。
点击configure,在下拉菜单里选择MinGW Makefiles,按finish开始编译。
网上很多的人直接在这里编译之后就得到了预期的结果,但我在这一步遇到了很大的问题。
CMake显示编辑失败,显示 CMAKE_MAKE_PROGRAM not found。
解决办法为: 将NOTFOUND 改为cmake -D"CMAKE_MAKE_PROGRAM:PATH=D:\QtMing5.8.0\Tools\mingw530_32\bin\mingw32-make,即可继续进行编译。后来发现,这个问题主要是因为Qt环境变量路径的配置有问题。
若一切顺利,应该获得如下结果:
点击with,勾选 openGL和Qt,点击configure,若有红色选框,就再configure一次,得到以下结果:
最后,点击generate,等到 generating done之后,出现以下界面:
至此,Cmake-gui的工作完成。
注意:在生成makefile文件的时候,可能会出现“Found unsuitable Qt version “” from NOTFOUND, this code requires Qt 4.x”的问题。发现在cmake/share/cmake-32-modules/目录下只存在findqt4.cmake,不存在findqt5.cmake。解决方法为在
http://svn.osgeo.org/ossim/trunk/ossim_package_support/cmake/CMakeModules/FindQt5.cmake复制findqt5.cmake内容,
用notepad打开findqt4.cmake,用qt5的的内容替换qt4的内容,保存后即可使用。
第四步:配置生成opencv二进制文件。
打开刚才自定义的文件夹,按住shift键右击,选择“在此处打开命令窗口”。敲入 mingw32-make命令运行。此运行过程比较长,可能会持续半个小时以上。
待达到100%时生成结束,敲入mingw32-make install命令,将生成的opencv二进制文件存到install文件夹内。最终,可以在文件根目录\install\x64\mingw看到lib与
bin两个文件夹。 将两个文件夹复制。
在opencv安装目录下找到build\include文件并将其复制。
把这三个文件夹同时粘贴到一个新文件夹中,注意,此文件夹路径不允许有汉字,空格,以及各种符号。
在path环境变量下配置bin文件夹的路径。
至此,有关opencv2.4.11的qt开发环境配置工作结束。
注意:此处有可能会出现一个问题,我遇到了此文件夹下根本就不存在mingw32-make.exe的情况。此问题的解决方案十分暴力,到Qt根目录下的tool文件夹里吧mingw32-make.exe直接复制粘贴过来,再次运行mingw32-make命令,即可实现同样的功能。
第五步:验证配置效果
新建qt工程,在.pro文件中添加以下代码:
INCLUDEPATH+=D:\opencvcm\include\opencv\ D:\opencvcm\include\opencv2\ D:\opencvcm\include\ LIBS+=D:\opencvcm\lib\libopencv_calib3d2411.dll.a\ D:\opencvcm\lib\libopencv_contrib2411.dll.a\ D:\opencvcm\lib\libopencv_core2411.dll.a\ D:\opencvcm\lib\libopencv_features2d2411.dll.a\ D:\opencvcm\lib\libopencv_flann2411.dll.a\ D:\opencvcm\lib\libopencv_gpu2411.dll.a\ D:\opencvcm\lib\libopencv_highgui2411.dll.a\ D:\opencvcm\lib\libopencv_imgproc2411.dll.a\ D:\opencvcm\lib\libopencv_legacy2411.dll.a\ D:\opencvcm\lib\libopencv_ml2411.dll.a\ D:\opencvcm\lib\libopencv_objdetect2411.dll.a\ D:\opencvcm\lib\libopencv_video2411.dll.a\ D:\opencvcm\lib\libopencv_nonfree2411.dll.a\ D:\opencvcm\lib\libopencv_ocl2411.dll.a\ D:\opencvcm\lib\libopencv_photo2411.dll.a\ D:\opencvcm\lib\libopencv_stitching2411.dll.a\ D:\opencvcm\lib\libopencv_superres2411.dll.a\ D:\opencvcm\lib\libopencv_videostab2411.dll.a\
在cpp文件中敲入测试代码:
#include <opencv2/opencv.hpp> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> using namespace cv; using namespace std; int main() { Mat src = imread("1.jpg",1); imshow("src",src); waitKey(0); return 0; }
运行代码,若能显示图片则证明配置成功。
注意:在qt的IDE中,要把实验图片存放在build-again-Desktop_Qt_5_8_0_MinGW_32bit-Debug文件夹下,不要存放在.cpp文件所位置。否则opencv会报错,找不到目标图片。
主要参考资料:http://lib.csdn.net/article/opencv/39077
http://blog.csdn.net/dopamy_busymonkey/article/details/44857427
http://stackoverflow.com/questions/6141608/cmake-make-program-not-found
http://blog.csdn.net/qiurisuixiang/article/details/8665278
http://blog.sina.com.cn/s/blog_5c70dfc80100qwi3.html
《Opencv图像处理》葛罗瑞亚·布埃诺·加西亚、奥斯卡·德尼茨·苏亚雷斯等著。
《OPencv3编程入门》毛星云等编著。
1 0
- Win7平台下 opencv2.4.11+CMake+Qt5.8.0 开发环境配置
- Win7下qt5.3.1+opencv2.4.9编译环境的搭建
- Win7下qt5.3.1+opencv2.4.9编译环境的搭建
- Win7下qt5.3.1+opencv2.4.9编译环境的搭建
- win7下QT5.2.0+VS2010环境配置
- openCV2.4.13+VS2015+Cmake开发环境配置,解决nonfree问题
- WinXP下Qt5.3.1+opencv2.4.9编译环境配置
- Win8.1下OpenCV2.4.9+Qt5.3.2开发环境搭建
- linux下配置Qt5 开发环境
- 【亲测可行】Win7 下 qt5.x + opencv2.4.x编译环境的搭建
- qt5.2+ opencv2.4.10 + cmake 编译配置过程
- Win7 64位 + VS2012环境下配置OpenCV2.4.5
- win7下vs2008 安装opencv2.3 ,开发环境搭建
- QT5.2+vs2012+opencv2.4.7环境配置
- Qt5.5.1 + OpenCV2.4.10 环境配置
- VS2012+OpenCV2.4.9+Qt5.3.1环境配置
- 笔记2:win7下 OpenCv2.4.3+Qt5.0.1版本的配置
- 笔记2:win7下 OpenCv2.4.3+Qt5.0.1版本的配置
- 可视化的状态机(FSM)
- 在旋转排序数组中搜索
- String path = request.getContextPath();JSP中的相对Path的设置
- Hibernate注解开发关于Id的若干问题
- C中的volatile作用——在中断程序里修改全局变量
- Win7平台下 opencv2.4.11+CMake+Qt5.8.0 开发环境配置
- OPENSTACK中的METADATA SERVER
- uva562
- DNS域名解析过程简介
- CGI
- HDU 5693 D Game 区间dp
- 微信小程序 获取对应页面二维码
- phpmyadmin的id字段自增长设置
- js跨域