OpenCV——Windows10+QT5.9(MinGW)+OpenCV3.2
OpenCV——Windows10+QT5.9(MinGW)+OpenCV3.2
defined01 发表于5个月前
OpenCV——Windows10+QT5.9(MinGW)+OpenCV3.2
  • 发表于 5个月前
  • 阅读 13
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

使用到的东西

Windows10 (其实Windows7、Windows8都没所谓啦)

QT5.9.1:

http://caesar.ftp.acc.umu.se/mirror/qt.io/qtproject/archive/qt/5.9/5.9.1/qt-opensource-windows-x86-5.9.1.exe

CMake3.8.1(话说不用贴32位的地址了吧,我真的不是鄙视32位来着):

https://cmake.org/files/v3.8/cmake-3.8.1-win64-x64.msi

OpenCV3.2.0 (此处直接使用github上的最新版):

https://codeload.github.com/opencv/opencv/zip/3.2.0

安装QT5.9

这个不用说了,一路Next就好了。(有个注册想注册也行,不想注册跳过就好了)

我为了分离大型应用程序到机械硬盘上,装到了D盘(D:\QT5.9\),下面需要用到安装路径的时候大家可以自行调整

环境变量

QT安装好后要记得添加\\bin到环境变量中去

这里我的是D:\QT5.9\Tools\mingw530_32\bin

编译OpenCV3.2

这个是这个文章的重头戏,共分为两个步骤:CMakeMake && install

CMake

先安装CMake.msi,不用多讲。

解压OpenCV的压缩包

然后启动CMake(GUI)

随后CMake会自动开始第一轮编译

红的项目表示仍旧未经过验证合法性,不要怕,先设置几个关键变量

CMAKE_BUILD_TYPE选择DEBUG或者RELEASE,对应生产调试阶段和发行阶段,这里选DEBUG

BUILD_EXAMPLES        附加例子,可要可不要

WITH_QT                    编译QT,必须要

分别设置既可(图像经过裁剪),然后按下Configure按钮。

途中可能会遇到需要“联网”下载OpenCV_FFmpeg.dll的情况,请自行“联网”,CMake会自动下载。

随后又多出来几个新选项,依次仿照上图格式填好既可(不同版本可能有部分路径不同,请自行调整)

再次Configure,多出来一个新选项,再次配置即可

最后一次Configure,然后再Generate,完毕。

CMake可以光荣退休了。

mingw32-make

进入刚才编译出来的目录(Windows7以上可以直接在文件夹中Ctrl+Shift+右键呼出的弹出菜单中选择“在此处打开CMD”),运行mingw32-make -j 8。

-j选项指定make时使用的多线程数,可根据自己情况更改。

等到编译完成100%后继续安装:mingw32-make install

等到安装也完成了就可以正式使用OpenCV啦!

使用

在QT的.pro文件中加入:

INCLUDEPATH+=D:\OpenCV\opencv-master\buil\include\opencv\
	D:\OpenCV\opencv-master\buil\include\opencv2\
	D:\OpenCV\opencv-master\buil\include
 
LIBS+=D:\OpenCV\opencv-master\buil\lib\libopencv_calib3d244.dll.a\
	D:\OpenCV\opencv-master\buil\lib\libopencv_contrib244.dll.a\
	D:\OpenCV\opencv-master\buil\lib\libopencv_core244.dll.a\
	D:\OpenCV\opencv-master\buil\lib\libopencv_features2d244.dll.a\
	D:\OpenCV\opencv-master\buil\lib\libopencv_flann244.dll.a\
	D:\OpenCV\opencv-master\buil\lib\libopencv_gpu244.dll.a\
	D:\OpenCV\opencv-master\buil\lib\libopencv_highgui244.dll.a\
	D:\OpenCV\opencv-master\buil\lib\libopencv_imgproc244.dll.a\
	D:\OpenCV\opencv-master\buil\lib\libopencv_legacy244.dll.a\
	D:\OpenCV\opencv-master\buil\lib\libopencv_ml244.dll.a\
	D:\OpenCV\opencv-master\buil\lib\libopencv_objdetect244.dll.a\
	D:\OpenCV\opencv-master\buil\lib\libopencv_video244.dll.a

测试

在main.cpp中输入:

#include <opencv2/opencv.hpp> //Include file for every supported OpenCV function
int main( int argc, char** argv )
{
  cv::Mat img = cv::imread("pic.jpg");
  if( img.empty() ) return -1;
  cv::namedWindow( "Example1", cv::WINDOW_AUTOSIZE );
  cv::imshow( "Example1", img );
  cv::waitKey( 0 );
  cv::destroyWindow( "Example1" );
  return 0;
} 

然后在你的工程目录下放置一个名为pic.jpg的图片,运行即可看见效果啦~~~~

在弹出窗口上按下任意键即可退出~~~~~

共有 人打赏支持
粉丝 0
博文 5
码字总数 7788
×
defined01
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: