笔记2:win7下 OpenCv2.4.3+Qt5.0.1版本的配置

来源:互联网 发布:联想笔记本电脑 知乎 编辑:程序博客网 时间:2024/05/17 17:15

一、最近在摸索Qt,得知Opencv可以在Qt下用,故搜索网上怎么在win7(64位)下配置,其中2个帖子给我莫大的帮助:

1、http://blog.csdn.net/qiurisuixiang/article/details/8665278

2、http://www.cnblogs.com/zjutzz/archive/2013/05/30/3109373.html

写下此帖,只为我以后需要配置时作参考,另外在配置过程中(花费一天多)遇到的一些错误,当时没有解决,写在此处,望前辈们给予解决。

刚开始用Qt5.1.1去配置Opencv2.4.6(目前最新版本),直接下载Opencv2.4.6,执行解压后在build\x86\mingw目录下有2个文件夹bin和lib,没有再编译,直接用的,可惜没有成功:

在运行Qt程序时老是出现异常:退出代码 -1073741515。      ---希望看到的大牛能解释下

然后想重新生成以下bin和lib,用Cmake编译opencv,老是报错:未解决

无奈,选择了配置:win7+Opencv2.4.3+Qt5.0.1+cmake2.8.11  此过程竟然没有报错,也许是幸运。

其中Opencv2.4.3解压后的bin和lib 我用的也不好使, 你可以先试一下,避免走弯路,不行的话再用下面的步骤重新生成

介绍一下步骤:参考1帖

1、下载所需工具

(1)Qt Creator 下载地址http://qt-project.org (建议下载这个qt-windows-opensource-5.0.1-mingw47_32-x86-offline.exe)

(2)OpenCV 下载地址http://opencv.org/(版本2.4.3,编译用的MinGW4.7,高版本没有成功,如果有成功的可以交流)

(3)CMake 下载地址http://www.cmake.org/cmake/resources/software.html(这个是为了重新编译Opencv用到的工具)

2、安装:

(1)安装qt-windows-opensource-5.0.1-mingw47_32-x86-offline.exe,此版本安装时自己安装Qt Creater,注意要选中tools里的

mingw47。

安装完成后加环境变量path:D:\Study_Tools\Qt\Qt5.0.1\5.0.1\mingw47_32\bin;
                                              D:\Study_Tools\Qt\Qt5.0.1\Tools\MinGw\bin;

(2)OpenCv直接解压到一个目录,如本人的:D:\Study_Tools\OpenCv\opencv2.4.3

目录内容如下: build下是编译好的,开始先试用,可以省时间不去重新生成

(3)安装Cmake,(安装时要选“添加到系统路径中”)。

3、使用Cmake编译OpenCv

(1)配置源码路径(OpenCv解压目录)和目标路径(可以随便设置)

如下图:(参考)

(2)点击configue,弹出对话框,选择MinGW makefiles,此时可以选择第一项(只安装了一个Qt的版本,且设置了环境变量)

本人选择specify native compilers(第二个选项),然后对于C和C++分别设定,我的是D:\Study_Tools\Qt\Qt5.0.1\Tools\MinGW\bin\gcc.exe和D:\Study_Tools\Qt\Qt5.0.1\Tools\MinGW\bin\g++.exe 确定后点左下方“configure”,会有很多项是红色的,这正常。

(3)如上图红色区域内,勾选生成列表中的WITH_OPENGL和WITH_QT两项,其他项最好不要改动, 再次点击Configure按钮,红色消失。  此刻若遇到错误请参照2帖

(4)确认无错后,点击点击Generate按钮,生成makefile文件,成功后,底下会提示Generating done

最终结果:中间不能出现红色警告

    

 

4、需要在cmd中进入编译好的目录下make和make install

(1)进入D:\Study_Tools\Qt\opencv2.4  (目标路径)

(2)执行 mingw32-make命令:此过程较为漫长

特别注意:之前要将D:\Study_Tools\Qt\opencv2.4\install\bin; 加在Path中,可能会出错: 

Linking CXX executable ..\..\bin\opencv_perf_core.exe
Info: resolving vtable for cv::_OutputArray by linking to __imp___ZTVN2cv12_OutputArrayE (auto-import)
Info: resolving vtable for cv::_InputArray by linking to __imp___ZTVN2cv11_InputArrayE (auto-import)
Info: resolving vtable for cv::Exception by linking to __imp___ZTVN2cv9ExceptionE (auto-import)

collect2: ld returned 1 exit status

(3)到100%后, 执行mingw32-make install,此过程大约需要1到2分钟

至此编译结束,可以在目标路径下找到bin和lib,这是我们需要的,你可以删除其他目录,也可以将这2个文件夹拷贝到别的地方,删除该目录,占地方。

5、将bin和lib 复制到 C:\OpenCv下,再将D:\Study_Tools\OpenCv\opencv2.4.3\build\下(opencv2.4.3的解压目录)的include复制到C:\OpenCv。

添加系统环境变量C:\OpenCv\bin。

到这Qt下的Opencv环境已经配置完成,下面可以在Qt Creater下进行验证:

6、打开Qt Creater,新建一个空工程,我这里用我笔记1里测试的代码进行验证:

(1)在pro文件中添加

INCLUDEPATH+=C:\OpenCv\include\opencv

INCLUDEPATH+=C:\OpenCv\include\opencv2
INCLUDEPATH+=C:\OpenCv\include
LIBS+=C:\OpenCv\lib\libopencv_calib3d243.dll.a
LIBS+=C:\OpenCv\lib\libopencv_contrib243.dll.a
LIBS+=C:\OpenCv\lib\libopencv_core243.dll.a
LIBS+=C:\OpenCv\lib\libopencv_features2d243.dll.a
LIBS+=C:\OpenCv\lib\libopencv_flann243.dll.a
LIBS+=C:\OpenCv\lib\libopencv_gpu243.dll.a
LIBS+=C:\OpenCv\lib\libopencv_highgui243.dll.a
LIBS+=C:\OpenCv\lib\libopencv_imgproc243.dll.a
LIBS+=C:\OpenCv\lib\libopencv_legacy243.dll.a
LIBS+=C:\OpenCv\lib\libopencv_ml243.dll.a
LIBS+=C:\OpenCv\lib\libopencv_objdetect243.dll.a
LIBS+=C:\OpenCv\lib\libopencv_video243.dll.a
LIBS+=C:\OpenCv\lib\libopencv_photo243.dll.a

(2)添加.cpp文件:

<span style="FONT-SIZE: 14px">#include"cv.h"#include"cxcore.h"#include"highgui.h"int main(){    //声明IplImage指针    //IplImage *pImg = new IplImage;    IplImage *pImg ;    //载入图片    pImg=cvLoadImage("D:/Picture/qt_pic/haokan.jpg",1);    //创建窗口    cvNamedWindow("Image",1);    //显示图像    cvShowImage("Image",pImg);    //等待按键    cvWaitKey(0);    //销毁窗口    cvDestroyWindow("Image");    //释放图像    cvReleaseImage(&pImg);    return 0;}</span>

(3)运行就可以得到与前面在VC配置下运行的结果一样了。

0 0