Win7X64下Qt560+MinGW492+OpenCV2412+Cmake351编译环境搭建

2 篇文章 0 订阅
1 篇文章 0 订阅

Qt新建Qt控制台应用程序,直接添加工程文件.pro下的opencv的包含目录和库目录是错误的,这会导致无法使用如imread,imshow等函数。
下面就正式说win7下配置OPENCV的Qt环境开发

下载所需工具

  1. opencv2.4.12
    新版3.x,因为有很多东西不一样,容易出错。
    点击DOWNLOADS,找到OpenCV for Windows链接进行下载。
  2. Qt5.6.0
    下载社区版
  3. CMake
    windows用户直接下载其一就行(不管系统几位,推荐exe安装,免去设置Path的麻烦):

安装

  1. Opencv如果你下载的是opencv2.x.exe,直接打开就自动解压了,解压到D盘,我这里得到D:\opencv
  2. Qt的安装,打开之后到了那个组件选项,点5.6.0,tool中MINGW4.9.2要选中,其余的看你的需求了。我的也是直接安装在D盘,路径为D:\Qt
  3. Cmake的安装路径中不能有中文或者括号字符,不能有空格,其中有一个安装步骤,让你勾选,勾选那个加入到计算机环境变量中。
    下面的步骤来自赵春江老师的专栏以及其他的一些博客。

配置

  1. 首先要设置环境变量(右键点击“计算机”->属性->高级系统设置->环境变量),因为我们用的是mingw来编译,所以要将D:\Qt\Qt5.6.0\Tools\mingw492_32\bin加入到path下,注意切换到英文模式。
  2. 点击CMake(cmake-gui)图标,执行CMake,在Where is the source code栏和Where to build the binaries栏中分别为D:/opencv/sourecesD:/OpenCV4QtD:/OpenCV4Qt为编译后库文件所存放的目录(可以自定义),需要自己创建该目录(如果没有,则会有提示,选择Yes创建)。
    输入
  3. 然后点击Configure按钮,打开新的窗口,在Specifythe generator for this project下选择MinGWMakefiles,然后选择Specifynative compilers,点击Next按钮,打开新的窗口,在C一栏中填写D:/Qt/Qt5.6.0/Tools/mingw492_32/bin/gcc.exe,在C++一栏中填写D:/Qt/Qt5.6.0/Tools/mingw492_32/bin/g++.exe,Fortran不填写,然后点击Finish按钮。
    开始配置,出现错误,搜索CMAKE_MAKE_PROGRAM,CMAKE_MAKE_PROGRAM配置为D:/Qt/Qt5.6.0/Tools/mingw492_32/bin/mingw32-make.exe没有就不管它
    继续勾选WITH_QT与WITH_OPENGL,再次configure,又出现错误,搜索并添加(意思就是说你找得到的就修改没有的就加上去)

    NameValue
    QT_QMAKE_EXECUTABLED:/Qt/Qt5.6.0/5.6/mingw49_32/bin/qmake.exe
    QT_MKSPECS_DIRD:/Qt/Qt5.6.0/5.6/mingw49_32/mkspecs
    QT_QTCORE_LIBRARY_DEBUGD:/Qt/Qt5.6.0/5.6/mingw49_32/bin/Qt5Cored.dll
    QT_QTCORE_LIBRARY_RELEASED:/Qt/Qt5.6.0/5.6/mingw49_32/bin/Qt5Core.dll
    QT_QTCORE_INCLUDE_DIRD:/Qt/Qt5.6.0/5.6/mingw49_32/include/QtCore/5.6.0/QtCore
  4. 再次Configure,会出现Qt5Concurrent_DIR,Qt5Core_DIR,Qt5Gui_DIR,Qt5Test_DIR,Qt5Widgets_DIR,Qt5OpenGL_DIR not found,还是搜索这些变量
    它们的Value分别填写为:

    NameValue
    Qt5Concurrent_DIRD:/Qt/Qt5.6.0/5.6/mingw492_32/lib/cmake/Qt5Concurrent
    Qt5Core_DIRD:/Qt/Qt5.6.0/5.6/mingw492_32/lib/cmake/Qt5Core
    Qt5Gui_DIRD:/Qt/Qt5.6.0/5.6/mingw492_32/lib/cmake/Qt5Gui
    Qt5Test_DIRD:/Qt/Qt5.6.0/5.6/mingw492_32/lib/cmake/Qt5Test
    Qt5Widgets_DIRD:/Qt/Qt5.6.0/5.6/mingw492_32/lib/cmake/Qt5Widgets
    Qt5OpenGL_DIRD:/Qt/Qt5.6.0/5.6/mingw492_32/lib/cmake/Qt5OpenGL
  5. 点击Generate生成Make文件,然后执行下一步。
    同时按下[ctrl+r],在弹出的对话框中输入cmd,打开系统命令行终端,进入到D:/opencv/MinGW的目录下(cd D:\OpenCV4Qt)执行mingw32-make命令,这会需要很长时间,还有别运行其他程序屏保也不可以(偶发性错误),放着别动去喝茶,最后提示build target opencv transcode之后,接着输入mingw32-make install,100%结束后关闭命令行即可。
    下面开始配置opencv的Qt开发环境。
    其实我们需要的只是编译后OpenCV4Qt目录下的bin和lib文件夹,其余的东西可以删除掉,今后我们在用Qt创建opencv工程的时候,都要在工程名称.Pro上添加以下目录和库。

    IINCLUDEPATH+=  D:\OpenCV4Qt\include\
                    D:\OpenCV4Qt\include\opencv\
                    D:\OpenCV4Qt\include\opencv2
    
    LIBS+=D:\OpenCV4Qt\lib\libopencv_calib3d2412.dll.a\
        D:\OpenCV4Qt\lib\libopencv_contrib2412.dll.a\
        D:\OpenCV4Qt\lib\libopencv_core2412.dll.a\
        D:\OpenCV4Qt\lib\libopencv_features2d2412.dll.a\
        D:\OpenCV4Qt\lib\libopencv_flann2412.dll.a\
        D:\OpenCV4Qt\lib\libopencv_gpu2412.dll.a\
        D:\OpenCV4Qt\lib\libopencv_highgui2412.dll.a\
        D:\OpenCV4Qt\lib\libopencv_imgproc2412.dll.a\
        D:\OpenCV4Qt\lib\libopencv_legacy2412.dll.a\
        D:\OpenCV4Qt\lib\libopencv_ml2412.dll.a\
        D:\OpenCV4Qt\lib\libopencv_objdetect2412.dll.a\
        D:\OpenCV4Qt\lib\libopencv_video2412.dll.a

    到此就结束了,库的添加自己可以按照库目录自己选择那些必须的,以后用到别的再选择添加。

Qt控制台测试程序

#include<QCoreApplication>  
#include<iostream>  
#include<opencv2/core/core.hpp>  
#include<opencv2/highgui/highgui.hpp>  
using namespace std;  
using namespace cv;  

int main(intargc,char*argv[])  
{  
    //QCoreApplicationa(argc,argv);  
    //returna.exec();  
    cout<<"opencv"<<endl;  
    cv::Mat src=cv::imread("F:/image/3.jpg");  //绝对路径  
    cv::namedWindow("test");  
    cv::imshow("test",src);  
    cv::waitKey(0);  
    cv::destroyWindow("test");  
    return 0;  
}

运行效果

结果图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值