前言:
什么是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
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
#include
#include
#include
#include
#include
using namespace std;
using namespace cv;
using namespace cv::ml;
搞定
新手建议去玩一下手写识字,从数字开始在到文字,慢慢地去体验人工智能的神奇
版权声明:本文为博主原创文章,转载请注明出处。