若该文为原创文章,未经容许不得转载
原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:http://www.javashuo.com/article/p-wxwjppoc-mo.html
本文章博客地址:http://www.javashuo.com/article/p-kewgxbey-nu.html
各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么本身研究html
红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中...(点击传送门)c++
上一篇:《OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境》算法
下一篇:《OpenCV开发笔记(二):cvui交互界面》数据库
图像视频开发使用到OpenCV,选择版本为OpenCV3.4.1,整理了去年的笔记。机器学习
《OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境》ide
《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(全网最浅显易懂)》测试
《OpenCV开发笔记(七十):红胖子带你傻瓜式编译VS2017x64版本的openCV4》
OpenCV(开源计算机视觉库)是一个开源的计算机视觉和机器学习软件库。OpenCV旨在为计算机视觉应用提供通用基础设施,并加速商业产品中机器感知的使用。做为BSD许可产品,OpenCV使企业能够轻松利用和修改代码。
该库拥有超过2500种优化算法,其中包括一套全面的经典和最早进的计算机视觉和机器学习算法。这些算法可用于检测和识别面部,识别物体,对视频中的人体动做进行分类,跟踪相机移动,跟踪移动物体,提取物体的3D模型,从立体相机生成3D点云,将图像拼接在一块儿以产生高分辨率整个场景的图像,从图像数据库中找到类似的图像,从使用闪光灯拍摄的图像中移除红眼,跟踪眼睛运动,识别风景并创建标记以用加强现实覆盖它等.OpenCV拥有超过47,000名用户社区和估计下载量超过 1800万。该图书馆普遍用于公司,研究团体和政府机构。
除了谷歌,雅虎,微软,英特尔,IBM,索尼,本田,丰田等知名公司,还有许多创业公司,如Applied Minds,VideoSurf和Zeitera,它们普遍使用OpenCV。OpenCV的部署用途涵盖了将街景图像拼接在一块儿,检测以色列监控视频中的入侵,监控中国的矿山设备,帮助机器人在Willow Garage中导航和拾取物体,检测欧洲游泳池溺水事故,运行互动艺术西班牙和纽约在土耳其检查跑道上的残骸,检查世界各地工厂的产品标签,以便在日本进行快速面部检测。
它具备C ++,Python,Java和MATLAB接口,并支持Windows,Linux, Android 和Mac OS。OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令。 目前正在积极开发功能齐全的 CUDA和 OpenCL接口。有超过500种算法和大约10倍的组成或支持这些算法的函数。OpenCV自己是用C ++编写的,它有一个模板化的接口,能够与STL容器无缝协做。
下载的是OpenCV3.4.1版本。
当前最新版本为3.4.1。(2018年年初的)
下载地址:https://www.opencv.org/releases.html
Github还真难下,各类网关设置就是慢,因此,提供下载地址以下:
https://download.csdn.net/download/qq21497936/12253553
有点小漫长,主要下载了ffmpeg的2个dll花了部分时间。
(注意:编译要编译Release版本,查看“入坑一”)
配置一下,会在出现几个变量,更改以下图:
出现c++11的支持,须要支持c++11,以下图:
配置CMake,继续编译。
找到源码modules\videoio\src\cap_dshow.cpp,搜索#include “DShow.h”,添加宏定义:
继续编译。
#include <QApplication> #include "opencv/highgui.h" #include "opencv/cxcore.h" #include "opencv2/core/core.hpp" #include "opencv2/highgui/highgui.hpp" using namespace cv; int main(int argc, char *argv[]) { QApplication a(argc, argv); namedWindow("window"); waitKey(0); return a.exec(); }
解决方法:
从新编译,默认编译的是debug版本,因此要切换到release版本,使用CMake从新配置,以下图:
对应版本号v1.0.0
地址:https://sourceforge.net/projects/opencvlibrary/
因下载太慢,换了一个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的函数,因此选择从新编译(建议读者重编)。
直接使用QCcreator进行cmake,这是对于qt更便捷的方法(与配置opencv3不同的地方,笔者强烈使用opencv3的配置方法较为通用,编译其余版本或者与编译与qt彻底无关的版本都适用)
Qt使用Opencv
显示图片运行结果
截图直接截的qt帮助文件
上一篇:《OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境》
下一篇:《OpenCV开发笔记(二):cvui交互界面》
原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:http://www.javashuo.com/article/p-wxwjppoc-mo.html
本文章博客地址:http://www.javashuo.com/article/p-kewgxbey-nu.html