您的位置:首页 > 编程语言 > Qt开发

Qt+OpenCV环境从头开始搭建

2016-08-24 21:33 459 查看
一:配置opencv:

step1:下载opencv源码:

建议去opencv官网下载(http://opencv.org/),或者利用各种手段得到。

step2:下载cmake和配置编译opencv:

cmake是跨平台的安装工具,可以通过他来对源码构建出不同平台的makefile

文件。(http://www.cmake.org/cmake/resources/software.html)

运行cmake,按下图操作



点击configure:



这时会弹出编译器选择界面,比如我们用的是qt是mingw的,则选择mingw,

如果你是在VS下的,则可以选择VS类编译器。如下图:



这时,会在目标目录下生产一些文件。cmake界面出来了一些可选项

勾选QT和OPENGL,其他不用改,再次点击configure。



再点击Generate,这时会在目标目录下生成makefile文件。如下图:



到此,生成了makefile,win+r进入控制台,执行makefile。

1)进入目标目录 :cd xxx

2)mingw-32 make   // 等待30分钟左右编译完成,电脑好另说。

3)mingw-32 make install //等待1分钟左右

这时会在目标目录下生成一个install文件夹,库和bin和头文件都在里面:



进入install目录下面,找到bin文件夹,将其路径加入系统环境变量(略)。



至此,CV配置完毕。

二:配置Qt + opencv

step1:下载安装qtcreator(略) 和下载QT源码,环境变量配置,比较简单(略)

step2:开始配置

打开Qtcreator,创建一个GUI工程或者控制台也行。

打开.pro文件,加入以下配置:

INCLUDEPATH+= C:\Opt\opencv\build\include\opencv \
C:\Opt\opencv\build\include\opencv2 \
C:\Opt\opencv\build\include

LIBS += -LC:\Opt\opencv\build\x86\mingw\lib \
-llibopencv_core249 \
-llibopencv_highgui249 \
-llibopencv_imgproc249 \
-llibopencv_ml249 \
-llibopencv_video249 \
-llibopencv_features2d249 \
-llibopencv_calib3d249 \
-llibopencv_objdetect249 \
-llibopencv_contrib249 \
-llibopencv_legacy249 \
-llibopencv_flann249 \
-llibopencv_gpu249 \
-llibopencv_nonfree249 \
-llibopencv_ocl249 \
-llibopencv_photo249 \
-llibopencv_stitching249 \
-llibopencv_superres249 \
-llibopencv_ts249 \
-llibopencv_videostab249
具体路径根据你自己设置的更改!
然后在main.c加入一下代码,里面的图片路径名根据你自己的。

#include "mycvmainform.h"
#include <QApplication>

#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MyCvMainForm w;
w.show();

cv::Mat image;
image = cv::imread("F:\\1.png");
if(image.empty())
return 0;
cv::namedWindow("image show");
cv::imshow("image show",image);

return a.exec();
}

点击构建运行,则会出现以下效果:



到此,就OK了,但是··········

你在这次构建的时候可能会出现,编译可以通过,但是一运行就出现异常中断。

当时,我就不断度娘度娘找解决方法,还是无解,搞得快要奔溃,试了各种方法,重新

编译CV库啥的,浪费了好多时间。后来由于电脑太乱,索性重启,没想到,这一重启,

一切都OK了哈哈,我就想应该是有些东西可能要重启才能生效吧。总算是搞定了!

看到这美美出来,成就感也就来了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息