opencv+QT配置教程(全面版)

前言:

    什么是OpenCV?可能还有人不清楚吧,简单地说,OpenCV——Open Source Computer Vision Library,即开源计算机视觉库,它是基于C语言和部分C++语言来开发,可用于计算机视觉、图像处理以及模式识别和跟踪。

配置:

首先先强调一下使用环境,因为无论配置什么都好,所在的环境是很重要的,针对不同的环境做法也不一样,有时候看错了错误的环境下的教程反而会适得其反。

我的电脑配置是Win8.1、qt-opensource-windows-x86-mingw530-5.8.0,

不过下面关于qt的两种版本我也会结合起来一起讲。

qt有两种:一个是mingw版本和MSVC版本;

对比一下这两个编译器的区别:1.MSVC是指微软的VC编译器;2.MinGW是指是Minimalist GNU on Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时库。

在这里如果你的qt是msvc版本会简单很多,因为opencv的依赖库支持的就是这个版本的,相当于是使用vs。

接下来进入正题(也就是在qt中怎么安装opencv):

第一步:安装与配置OpenCV(这个不展开说了,网上一大堆教材和链接)

第二步:qt环境配置

MSVC版本(这一部分转自其他人):

qt的.pro文件与vs中的属性表类似,决定了项目需要的头文件、依赖项的位置,改为以下:

INCLUDEPATH += D:/opencv/build/include
 
CONFIG(debug, debug|release): {
LIBS += -LD:/opencv/build/x64/vc12/lib \
-lopencv_core2410d \
-lopencv_imgproc2410d \
-lopencv_highgui2410d \
-lopencv_ml2410d \
-lopencv_video2410d \
-lopencv_features2d2410d \
-lopencv_calib3d2410d \
-lopencv_objdetect2410d \
-lopencv_contrib2410d \
-lopencv_legacy2410d \
-lopencv_flann2410d
} else:CONFIG(release, debug|release): {
LIBS += -LD:/opencv/build/x64/vc12/lib \
-lopencv_core2410 \
-lopencv_imgproc2410 \
-lopencv_highgui2410 \
-lopencv_ml2410 \
-lopencv_video2410 \
-lopencv_features2d2410 \
-lopencv_calib3d2410 \
-lopencv_objdetect2410 \
-lopencv_contrib2410 \
-lopencv_legacy2410 \
-lopencv_flann2410
}

其中-L是文件目录所在地,-l是头文件或者依赖库的文件

在头文件中添加类似下面的头文件和宏(具体函数看需要,可以根据官方文档区去找想要函数的头文件位置)

#include <opencv2/opencv.hpp>
using namespace cv;
using namespace cv::ml;

然后在配置qt的debugger

MinGw版本:

需要先下载cmake,将opencv提供的依赖库转化为mingw能够使用的,

这是我的安装版本。

安装时要注意将CMake路径(也就是上面的bin目录)添加到系统的环境变量中PATH中!

点击打开cmake-gui.exe,按部就班地去把open的依赖库导入,

点击Configure之后如果见红了就再点一下,直到是黑色为止,如果一直是红色说明报错了,详情请参照报的错误更正,通常是路径问题。全黑以后再点击Generate,注意下面的黑色qt方框要勾上!!

如果全部顺利最后会出现:

在我导出的路径则会有(未截全):

尤其是lib的动态库是.a结尾的

到了这里,说明你离成功已经很近了:

打开qt来到.pro这里:

INCLUDEPATH += D:\programTool\opencv\necessaryFile\include #*(这个是opencv解压以后存放的路径+所选的文件)*
CONFIG(debug, debug|release): {
LIBS += D:\programTool\opencv\necessaryFile\lib\libopencv_*.a

} else:CONFIG(release, debug|release): {

LIBS += D:\programTool\opencv\necessaryFile\lib\libopencv_*.a

}


格式就不讲解了,用”*“这样子写比较方便,就不用写得太冗长。然后在头文件该加的加

#include <opencv2/core/bufferpool.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/objdetect/objdetect.hpp>
#include <opencv2/ml/ml.hpp>
#include <opencv2/core/core.hpp>

using namespace std;
using namespace cv;
using namespace cv::ml;

搞定

新手建议去玩一下手写识字,从数字开始在到文字,慢慢地去体验人工智能的神奇

版权声明:本文为博主原创文章,转载请注明出处。

  • 23
    点赞
  • 167
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
OpenCVQt中,均值滤波可以使用boxFilter函数来实现。boxFilter函数使用一个方框滤波器,该滤波器可以对图像进行平滑处理,类似于一个简化的高斯滤波器。在这个函数中,可以设置normalize参数来控制是否对滤波结果进行归一化处理。 下面是一个示例代码片段,展示了如何在OpenCVQt中使用均值滤波器: ``` void PhotoBlur::cvHomogeneousBlur(int k_size) { Mat srcImage = imread("F:/work/opencv/photoblur/add.jpg"); Mat dstImage = srcImage.clone(); boxFilter(srcImage, dstImage, -1, Size(k_size, k_size), Point(-1, -1), true); bgrMat2Image(dstImage); } ``` 在这个例子中,cvHomogeneousBlur函数使用boxFilter函数对图像进行均值滤波。输入图像srcImage会被克隆到dstImage中,并在dstImage上进行滤波操作。函数中的k_size参数表示滤波器的大小,可以根据需要进行调整。 通过调用该函数,你可以实现在OpenCVQt中对图像进行均值滤波的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Qt+opencv图像线性滤波之方框滤波、均值滤波、高斯滤波](https://blog.csdn.net/haohaohaihuai/article/details/106279456)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [C++基于 OpenCV+Qt 库实现的图像处理软件源代码+详细项目文档,可实现对图像的灰度化、二值化、均值滤波、...](https://download.csdn.net/download/shiyunzhe2021/88196583)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dream_Kite

你的鼓励,是我不断创作的动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值