QT - OpenCV的安装与配置 (win7 64 bit + OpenCV2.4.4 + minGW32)
阅读原文时间:2021年04月20日阅读:1

1 下载所需工具

(1)Qt Creator 下载地址http://qt-project.org (建议下载最新版本,因为里面带的MinGW版本较高,我最开始使用Qt 4.7.4编译OpenCV-2.4.4一直报错,后来换成Qt 5.0.1编译成功)

(2)OpenCV 下载地址http://opencv.org/(不建议下载最新版本,最新版本的编译需要高版本的MinGW,不然在执行mingw32-make命令会报错)

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

2 安装Qt Creator,过程很简单,一直下一步就OK

3 安装OpenCV,设置解压路径就OK

4 安装CMake,过程同样很简单(注意:(1)安装路径不能有中文和空格(2)勾选加入所有境变量中)

5 目前最新的OpenCV版本,安装之后的目录下面有源码和个版本的lib和dll,不过为避免出现问题,还是自己编译

6 将C:\Qt\Qt5.0.1\Tools\MinGW\bin加入系统的Path环境变量(假设Qt Creator安装在C盘)

7 打开CMake,使用CMake编译OpenCV。配置源码路径与生成的目标路径

(1)源码路径:要选择OpenCV安装目录下含有如下文件的文件夹

(2)目标路径:可以随意设置

 

打开CMake,配置源码路径和生成物的目标路径:

点击Configure,在弹出的框中选择MinGW Makefiles ,并勾选 Specify native compilers:

接着配置C和C++编译器路径:

C: E:/Qt/QT-5.4.0-Rel-MinGW491/Tools/mingw491_32/bin/gcc.exe

C++: E:/Qt/QT-5.4.0-Rel-MinGW491/Tools/mingw491_32/bin/g++.exe

点击finish。这里CMake会自动开始配置。

CMake编译结束界面如下图,勾选生成列表中的WITH_OPENGL和WITH_QT两项,其他项最好不要改动

10 再次点击Configure按钮,红色消失

点击“Generate”按钮,生成makefile文件。成功后,底下会提示Generating done。(出现红色警告,可以忽略。。。),如下图所示:

返回到:E:\OpenCV\source\opencv-3.0.0-beta

在这个路径下按住键盘的shift键,然后右键鼠标,打开cmd窗口:

在命令行输入 mingw32-make

这个过程比较久,大概30分钟,因电脑而异。编译完成后,如下图示。然后输入 mingw32-make install 进行安装:

13 此过程较为漫长,建议关掉杀毒软件可能会快些,在我的ThinkPad T420上耗时30分钟

14 执行mingw32-make install,此过程大约需要1到2分钟

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

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

 

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

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

 

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

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

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

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

INCLUDEPATH+=E:\OpenCV-2.4.4\opencv-after-cmake\include/opencv \

E:\OpenCV-2.4.4\opencv-after-cmake\include/opencv2 \

E:\OpenCV-2.4.4\opencv-after-cmake\include

LIBS+=E:\OpenCV-2.4.4\opencv-after-cmake/lib/libopencv_calib3d244.dll.a\

E:\OpenCV-2.4.4\opencv-after-cmake/lib/libopencv_contrib244.dll.a\

E:\OpenCV-2.4.4\opencv-after-cmake/lib/libopencv_core244.dll.a\

E:\OpenCV-2.4.4\opencv-after-cmake/lib/libopencv_features2d244.dll.a\

E:\OpenCV-2.4.4\opencv-after-cmake/lib/libopencv_flann244.dll.a\

E:\OpenCV-2.4.4\opencv-after-cmake/lib/libopencv_gpu244.dll.a\

E:\OpenCV-2.4.4\opencv-after-cmake/lib/libopencv_highgui244.dll.a\

E:\OpenCV-2.4.4\opencv-after-cmake/lib/libopencv_imgproc244.dll.a\

E:\OpenCV-2.4.4\opencv-after-cmake/lib/libopencv_legacy244.dll.a\

E:\OpenCV-2.4.4\opencv-after-cmake/lib/libopencv_ml244.dll.a\

E:\OpenCV-2.4.4\opencv-after-cmake/lib/libopencv_objdetect244.dll.a\

E:\OpenCV-2.4.4\opencv-after-cmake/lib/libopencv_video244.dll.a

main.cpp文件中内容如下

#include

#include"cv.h"

#include"cxcore.h"

#include"highgui.h"

int main(int argc, char *argv[])

{

//声明IplImage指针

IplImage*pImg;

//载入图片

pImg=cvLoadImage("C:/Users/luoquan/Desktop/20140224111440937.jpg",1);

//创建窗口

cvNamedWindow("Image",1);

//显示图像

cvShowImage("Image",pImg);

//等待按键

cvWaitKey(0);

//销毁窗口

cvDestroyWindow("Image");

//释放图像

cvReleaseImage(&pImg);

QCoreApplication a(argc, argv);

return a.exec();

}

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章