c++ 编译添加dll_使用MinGW编译OpenCV4源码与配置使用演示

485dd424a161c88e8ac9b9b3d08ba3f2.gif

点击上方蓝字关注我们

微信公众号:OpenCV学堂

关注获取更多计算机视觉与深度学习知识

QT在Windows上安装好之后,常规会两种编译器选择分别是:

-VS2015/2017/2019....-mingw

因为我安装了VS2015,所以一直是默认VS来编译,但是发现当从VS编译切换到mingw时候,OpenCV的windows版本就无法正确的使用了。这个时候要求首先通过mingw来编译OpenCV的源码,重新生成OpenCV库文件与dll文件。本文就详细记录了这个过程。而且最后通过编译好的OpenCV集成配置QT开发环境,实现了一个简单的测试程序。

软件版本与环境配置

229d04f55d748e18e6e4f392965b5396.png

版本信息

Windows10 64位QT5.13 64位OpenCV4.2CMake3.17.1

下载地址:

https://opencv.org/opencv-4-2-0/ https://cmake.org/

环境配置

在安装好QT,CMake与OpenCV下载解压缩之后,首先到QT的目录下,找到mingw编译工具的bin目录,添加到系统环境变量中去,本人安装好的QT中mingw工具的bin目录路径如下:

D:\Qt\Qt5.13.1\Tools\mingw730_64\bin

编译OpenCV源码

229d04f55d748e18e6e4f392965b5396.png

编译OpenCV源码主要分为如下几步:

01

cmake配置与生成

双击打开安装好的cmake

ad7ef8502bebac90cc64fce57975e9dc.png

 选择好souce路径与build路径,本人的分别为:

D:/opencv-4.2.0/opencv/sourcesD:/opencv-4.2.0/opencv/newbuild

然后点击 【configure】,就会弹出如下对话框,请选择mingw makefiles

d0f3ef2e26acf42a8097f41ceb13cb19.png

然后分别设置

b9bf20054af965980774d7c5e9c8785d.png

C编译器D:\Qt\Qt5.13.1\Tools\mingw730_64\bin\gcc.exe C++编译器D:\Qt\Qt5.13.1\Tools\mingw730_64\bin\g++.exe

运行完成之后,参见如下选项进行配置

- 勾选 WITH_OPENGL- 勾选 WITH_OPENMP- 勾选 BUILD_opencv_world- 不勾选 WITH_OPENCL_D3D11_NV

然后再点击【generate】按钮,执行完成即可。

注意

这个过程中你最有可能遇到的错误就是无法下载ffmpeg库的问题,解决方法也很容易,让可以下载的人给你下载,然后直接copy到你的opencv\sources\3rdparty\ffmpeg目录下即可。然后再次点击【generate】按钮即可。

02

生成安装文件

cmake完成之后,打开cmd,切换到build目录下,首先执行如下的命令行参数

mingw32-make -j 8

a325947444a3dffda0936a5a04ba156b.png

回车之后,就看到如下开始执行了,画面如下:

c68ddfee63aedfecf812e507990cba7c.png

大概5~10min左右(取决电脑速度)如果没有报错,就会到达100%完成。然后执行下一个命令行参数

  mingw32-make install  

大概在几十秒即可很快执行完成,执行完成之后你就会在这个目录得到编译好的库与dll文件。

D:\opencv-4.2.0\opencv\newbuild\install

很直接的把生成的dll所在路径添加到环境变量中,这里为:

D:\opencv-4.2.0\opencv\newbuild\install\x64\mingw\bin

使用OpenCV+QT实现图像显示

229d04f55d748e18e6e4f392965b5396.png

通过一个简单的OpenCV读取图像,在QT中QLabe显示来验证上述编译好的库可以使用。直接通过QT Creator来新建一个QT Application程序,导入OpenCV库依赖(不知道怎么操作,请看结尾的链接,通过视频学习即可!),然后在mainwindow.cpp中实现如下代码:

#include "mainwindow.h"

记得创建项目的选择编译器为mingw啊,然后选择构建为release。直接运行,显示如下:

76a779b05170a6a69a59e22a3a0eee17.png

最后怕写的不太好,给大家录了个实操的视频,教大家如下一步一步基于QT搭建OpenCV开发环境。

B站视频版本

https://www.bilibili.com/video/BV1Za4y1v7ra

 推荐阅读 

OpenCV4系统化学习路线图-视频版本!

五分钟搞定OpenCV4 + QT5集成与代码测试

OpenCV4.2 + OpenVINO2020安装配置与应用演示

OpenVINO深度学习推理框架 开发技术系列文章汇总

单应性矩阵应用-基于特征的图像拼接

OpenCV图像拼接改进算法之完美拼接

干货 | 基于特征的图像配准用于缺陷检测

OpenCV | 二值图像分析的技巧都在这里

OpenCV二值图像分析之形态学应用技巧

图像色彩空间与应用转换

五分钟学会C++高效图表绘制神器调用

没想到图像直方图有这么多应用场景

基于灰度共生矩阵(GLCM)的图像纹理分析与提取

OpenCV中一个最容易搞错的形态学操作

OpenCV+OpenVINO实现人脸Landmarks实时检测

OpenCV4+OpenVINO实现图像的超分辨

利用单应性矩阵实现文档对齐显示

b72f95affb80c27d6c4b6447fb7b35e9.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值