Opencv4.0+cmake3.13.3+vs2017源码编译
opencv作为开源的图像算法库,
1.它已经支持常见的图像算法操作,例如图像的分割,边缘检测,滤波,特征分析等等,此外opencv在目标跟踪。识别。三维重建,以及结构光方面以及很强大,
2.OpenCv 从V3.3版本开始支持调用深度学习模型,例如Caffe, Tensorflow, darknet等.详细见下图,具体的使用方法,可以参考官网:https://docs.opencv.org/4.0.0/d6/d0f/group__dnn.html,即支持对于dnn模块的调用
3.opencv的所有算法的代码都是开源的,而且经过开源的项目开发者的项目验证的,从中可以学习opencv的算法具体的实现方式以及开源的架构方式。
基于以上几点,我觉得从源码开始编译opencv4.0很有必要
编译前准备
cmake 链接:https://pan.baidu.com/s/1Rydy-QtcCFaEKJqJMBZf6A 提取码:97qw 编译源码
opencv4.0链接:https://pan.baidu.com/s/1iKTCnz75vI-T5x29CNgemg 提取码:clqp
Qt 5.6.3 链接:https://pan.baidu.com/s/1xf8RbnzDhZoLsLegrs5cFA 提取码:10qs 由于opencv4.0在窗口显示方面加入了Qt的支持
Opengl的安装(这里没有通过cmake 编译对应的链接)
1/Qt5.63的安装
(1)点击安装Qt,.注意安装完成后将qt的bin路径添加到系统的路径
(2)在vs2017中下载qt tool插件,并将对应的的bin路径add至其实际所在的路径
(3)创建新的工程,在c++目录下创建对应的Qt gui 的aplication 编译运行,生成对应的窗体,说明ok
2.cmake设置
点击configure第一次,注意勾选
(1) 注意勾选opencv_world,400,这样对应的生成的链接库只需要选择opencv_world400d.lll即可,这个库会对应的调用其他的库,不需要一个个增加
(2) 注意勾选的with qt,并将对应的链接库替换为Qt实际安装路径所在的,这边开始安装默认找到anaconda路径下的Qt,该路径是无效的,后来修改了。
(3) python 支持也勾选上
点击configure第二次,如果对应的红色全部消失,说明编译已经ok
点击generate 生成对应的opencv源码项目
3.opencv的安装
(1)进入该opencv源码的项目之后,点击all built,编译所有的opencv 模块
(2)如果编译有报错,则查看cmake配置方面是否村咋爱问题,如果没有,则继续进行install操作
install 操作会将所有的dll,lib,以及include文件放置install文件夹内
4.opencv测试
(1)通过属性页,配置对应的路径,下次配置只需要增加该属性页即可
(2)通过代码加载图像显示,Qt控件对窗口显示的美化还是不错
#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace std; int main(int artc, char** argv) { Mat src = imread("D:\\Code\\opencv_cxx\\opencv_application\\images\\95728.jpg", IMREAD_GRAYSCALE); if (src.empty()) { printf("could not load image...\n"); return -1; } namedWindow("input", WINDOW_AUTOSIZE); imshow("input", src); waitKey(10000); return 0; }