OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境

若该文为原创文章,未经允许不得转载
原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/79641510
各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究

红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中...(点击传送门)

OpenCV开发专栏(点击传送门)

上一篇:无

下一篇:《OpenCV开发笔记(一):OpenCV介绍、编译》

 

OpenCV编译相关博客

《OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境》

《OpenCV开发笔记(一):OpenCV介绍、编译》

《OpenCV开发笔记(十一):OpenCV编译支持Gpu(cuda) 加速开发之win-qt-mingw32编译》

《OpenCV开发笔记(十二):OpenCV编译支持Gpu(cuda) 加速开发之win-qt-msvc2015编译(opencv3.4.0、cuda9.0、VS2015)》

《OpenCV开发笔记(三十四):红胖子带你傻瓜式编译Qt+openCV3.4.1+opencv_contrib(全网最浅显易懂)》

 

工程模版

        下载地址:https://download.csdn.net/download/qq21497936/10300357

 

模块化代码

     OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第1张图片

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第2张图片

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第3张图片

 

下载地址

      Github还真难下,各种网关设置就是慢,所以,提供下载地址如下:

      https://download.csdn.net/download/qq21497936/12253553

 

搭建openCV3环境

第一步:下载CMake并配置系统环境。

到官网下载最新版本的CMake:https://cmake.org/download/

  因为官网下载太慢,我们到其他地方下一个版本3.10,百度自己下载。

   解压到当前文件夹,将cmake添加进系统PAPH

   OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第4张图片

  使用命令行,输入cmake–version查看,显示版本号表示添加路径成功。

  OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第5张图片

第二步:下载openCV3.4.1。

    下载源码,目前最新的版本,我们使用源码编译,编译源码这是作为使用开源库的基本技能。

下载地址:https://www.opencv.org/releases.html

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第6张图片

    将其赋值到F盘。解压到当前文件夹,打开目录下CMakeList.txt可以大致判断出需要的CMake版本。

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第7张图片

步骤三:使用CMake编译openCV的mingw版本。

点击cmake-gui.exe

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第8张图片

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第9张图片

按照如下操作:

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第10张图片

会出现如下错误:

这是需要添加环境变量,于是我们重新配置,先点击菜单File删除缓存。

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第11张图片

然后重新配置:

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第12张图片

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第13张图片

搜索CMAKE_MAKE_PROGRAM,填入mingw32-make.exe的地址

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第14张图片

配置编译的版本

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第15张图片

漫长的“Configure”等待

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第16张图片

配置成功,如下图:

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第17张图片

点击“Generate”生成mingw的工程

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第18张图片

配置成功。

第四步:使用mingw32-make编译openCV3.4.1库

打开命令行,到openCV-3.4.1的 build目录下(之前为cmake专门创建的)

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第19张图片

出现错误

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第20张图片

这是因为c++11引入了nullptr,所以给make添加参数,笔者直接回到cmake添加:

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第21张图片

重新Configure和Generate,然后mingw32-make,正常通过

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第22张图片

然后又是很漫长的编译过程,出现错误

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第23张图片

这回应该找到源码modules\videoio\src\cap_dshow.cpp,搜索#include“DShow.h”

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第24张图片

修改后,无需cmake,直接继续回到cmd编译,通过。

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第25张图片

编译成功后:

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第26张图片

然后安装

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第27张图片

第五步:搭建qt+opencv3.4.1的工程模版

将以下文件,复制到工程摸模块目录下:

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第28张图片

将以下的库文件,复制到工程目录下(两种添加的方法):

方法一:添加.a(推荐方法二,此方法复制移动位置可能会存在问题-运行错误)

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第29张图片

方法二:直接添加bin目录下的库(可运行库),笔者推荐这种方法

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第30张图片

第六步:编写程序,测试

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第31张图片

经过测试:

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第32张图片

 

搭建openCV2环境

使用已编好的库openCV2

第一步:下载openCV

      地址:https://sourceforge.net/projects/opencvlibrary/

      因下载太慢,换了一个2.4.10版本的,地址:

http://101.110.118.68/jaist.dl.sourceforge.net/project/opencvlibrary/opencv-win/2.4.10/opencv-2.4.10.exe

第二步:解压opencv到D:/opencv-2.4.10,头文件的文件夹:

D:\opencv-2.4.10\opencv\build\include\opencv
D:\opencv-2.4.10\opencv\build\include\opencv2

库文件夹下的库,分为发布版本和调试版本(带d)

LIBS += -LD:\opencv-2.4.10\opencv\build\x86\vc10\lib \
        -lopencv_calib3d2410 \
        -lopencv_contrib2410 \
        -lopencv_core2410 \
        -lopencv_features2d2410 \
        -lopencv_flann2410 \
        -lopencv_gpu2410 \
        -lopencv_highgui2410 \
        -lopencv_imgproc2410 \
        -lopencv_legacy2410 \
        -lopencv_ml2410 \
        -lopencv_nonfree2410 \
        -lopencv_objdetect2410 \
        -lopencv_ocl2410 \
        -lopencv_photo2410 \
        -lopencv_stitching2410 \
        -lopencv_superres2410 \
        -lopencv_ts2410 \
        -lopencv_video2410 \
        -lopencv_videostab2410

各种尝试找不到opencv2的函数,所以选择重新编译(建议读者重编)。

重新编译opencv2(17年使用的Qt5.2.0)

直接使用qtcreator进行cmake,这是对于qt更便捷的方法(与配置opencv3不一样的地方,笔者强烈使用opencv3的配置方法较为通用,编译其他版本或者与编译与qt完全无关的版本都适用)

步骤一:下载cmake,安装cmake,特别注意要加入环境变量;

步骤二:打开qtcreator,打开工程,直接来打开CMakeLists文件;

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第33张图片

 

 

 

步骤三:打开后会会进行解析配置,解析配置完成,成为了Qt工程;

步骤四:作为qt工程直接编译;

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第34张图片OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第35张图片

步骤五:编译后的源代码和文件夹中的include里面的头文件大部分都不见了,但是opencv下还有一个build,从里面获取头文件;

步骤六:从编译后source-build/bin中获取.dll

Qt使用Opencv

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第36张图片

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第37张图片

 

显示图片运行结果

截图直接截的qt帮助文件

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境_第38张图片

 

上一篇:无

下一篇:《OpenCV开发笔记(一):OpenCV介绍、编译》

 

原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/79641510

你可能感兴趣的:(Qt开发,图形图像处理,#,OpenCV)