OpenCV3.4.1+opencv_contrib编译:windows10
做计算机视觉的朋友,估计没有人没用过OpenCV,著名的开源计算机视觉算法库。OpenCV还在不断发展中,最新的3.4版本,已经可以支持cnn了,以后估计会有集成更多的功能。
不过,由于知识产权的原因,OpenCV将很多算法放到了opencv_contrib中,在github上,这两块代码就是分别放在不同的repository中的。
OpenCV官方提供了windows可安装的版本,已经有编译好的dll,不过不包括opencv_contrib。如果想应用这部分算法,则需要自己编译opencv,将opencv_contrib编译到opencv中。以下简单介绍以下opencv在windows下编译的过程。
所需材料:
- opencv源代码
- opencv_contrib源代码
- cmake
- vs2015
- 一个通畅的网络(这点很重要~)
1.下载opencv源代码
源代码的地址是:https://github.com/opencv/opencv/,默认是master分支。其实都下载master分支,就可以。不过,为了清晰源代码版本,以后还能做到匹配,我选择了tags中的最新版本,3.4.1版本,地址是:
https://github.com/opencv/opencv/tree/3.4.1
代码可通过git下载,用git clone命令即可。也可以在网页上点击Clone or download这个绿色按钮,然后点击download zip就可以。
2.下载opencv_contrib源代码
opencv_contrib代码地址是:https://github.com/opencv/opencv_contrib
3.4.1版本代码地址是:https://github.com/opencv/opencv_contrib/tree/3.4.1
相信大家也都发现规律了,参考下载opencv源代码方法即可。
下载后,解压代码到本地目录。
上图就是我解压的目录,其中有opencv和opencv_contrib的解压目录,还有一个build目录,用来放置cmake生成的vs工程。
3.安装cmake
CMake是一个跨平台的编译工具,能够输出各种各样的makefile或者project文件。
下载地址:https://cmake.org/files/v3.11/cmake-3.11.3-win64-x64.msi
下载之后直接运行,默认安装即可。
4.用cmake生成vs工程
安装好cmake之后,运行cmake,先填写开头的两项
Where is the source code是opencv源码路径,即“源路径”
Where to build the binaries是要生成opencv的vs工程路径,即“目的路径”
点击Configure,弹出对话框,选择编译工程的平台。我选的是64位的VS2015
点击Finish,即开始配置。这需要一定的时间,期间要下载一些依赖项,此时通畅的网络就起了关键作用,如果下载不全,可通过查看日志文件CMakeDownloadLog.txt手动下载。在完成第一次配置后,出现如下画面。
有很多红色选项,说明有问题,解决方法就是再点击一次Configure,这次快多了,出现下面画面。
全变白了,说明没问题了,这是需要做两项改动。
第一项是勾选BUILD_opencv_world选项,这样,在调用dll时,只调用这一个就行了,不用根据功能选择了,省了些麻烦。
这第二项,自然是在OPENCV_EXTRA_MODULES_PATH选项中,填写opencv_contrib解压目录下,modules文件夹的路径,这样就把opencv_contrib编译进去了。
然后再按Configure进行配置,和前面一样,一次红,二次白,不在赘述了。第二次全白了,就可以按Generate按键,生成vs工程文件了。
5.用VS2015编译opencv源代码
生成工程完毕,在刚才说的“目的路径”下,可以看到OpenCV工程文件
用vs2015打开工程文件,选择Debug x64,点击生成->生成解决方案开始编译,这个过程比较漫长,需要耐心,结果如下。
没有错误,然后右击INSTALL,点击“仅用于项目->仅生成INSTALL”
即可编译生成dll相关文件,编译过程如下。
然后将编译选项调整为Release x64,再重复一下以上的过程。此时在“目的路径”的install目录下,生成了调用dll的全部内容。
6.调用生成的dll实现图像处理功能
为了验证生成文件的有效性,新建工程,将库目录和包含目录指定到install文件夹下x64/vc14/lib和include文件夹。处理图片文标准测试图片house
测试代码如下:
#include "opencv2/opencv.hpp"
#include"opencv2/xfeatures2d.hpp"#if _DEBUG
#pragma comment(lib,"opencv_world341d.lib")
#else
#pragma comment(lib,"opencv_world341.lib")
#endif // _DEBUGusing namespace cv;
using namespace std;int main(){Mat img = imread("E:/PASCAL/OpenCV/house.jpg", CV_LOAD_IMAGE_COLOR);Ptr<Feature2D> sift = xfeatures2d::SIFT::create();vector<KeyPoint> keypoints;Mat descriptors;sift->detectAndCompute(img, noArray(), keypoints, descriptors);drawKeypoints(img, keypoints, descriptors, Scalar(0, 255, 255));imshow("Result", descriptors);waitKey(0);return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
测试结果如下。
实现了contrib中sift特征点的提取。
转载自:https://blog.csdn.net/ezhchai/article/details/80557936
opencv3.4.3+ contrib: https://blog.csdn.net/echoamor/article/details/83022352
OpenCV3.4.1+opencv_contrib编译:windows10相关推荐
- 【caffe】windows下vs2013+opencv3.2.0+opencv_contrib(包含dnn)+cmake3.8编译与配置
opencv目前已经支持caffe训练模型的读取,以及使用模型进行预测,这个功能是dnn模块实现的,而这个模块位于opencv_contrib中,此前编译的opencv3.2.0并没有将opencv_ ...
- windows7 下vs2015使用opencv3.30、opencv_contrib库
一.环境与所需要的资源 1.安装vs2015. A.vs2015我这里用的是cn_visual_studio_professional_2015_64位这个版本,可以在MSDN上下载,也可以在我网盘下 ...
- OpenCV3的GPU模块编译
[摘要] OpenCV3的GPU模块需要手动重新编译才可以使用.本文介绍了编译OpenCV3 + GPU模块的方法. [本文使用的操作系统.软件版本] OS:Windows10 OpenCV 3.0. ...
- 学习OpenCV(5) opencv3.4 with CUDA编译
opencv3.4 with cuda编译中的一个疑难问题的分析与解决 opencv3.4 with cuda编译,环境如下: 1.cmake 3.10 2.cuda9.0 3.opencv3.4 4 ...
- Windows环境下使用CMake编译OpenCV3.0和OpenCV_contrib
Debug版本库: opencv_aruco331d.lib opencv_bgsegm331d.lib opencv_bioinspired331d.lib opencv_calib3d331d.l ...
- VS2015+cmake3.8+opencv3.2+opencv-contrib3.2编译及配置步骤
一.下载以下文件并解压和安装cmake.并在同目录下新建文件夹mybuild 文件1 opencv-3.2.0-vc14.exe 文件2 opencv_contrib-3.2.0.zip 文件3 ...
- Ubuntu下安装opencv3.4.6+opencv_contrib
简介 在安装HyperLPR(C++)的过程中需要opencv+opencv_contrib. 1.1 安装包下载 注意 opencv与opencv-contrib的版本应该一致 opencv 下载 ...
- ros加载编译opencv-3.4.9,编译安装opencv-3.4.9
ros加载编译opencv-3.4.9 ros中配置opencv 1.加载自己的open ...
- 学习OpenCV3:Cmake+MinGW编译OpenCV
1. 准备 1.1 下载OpenCV源码 OpenCV下载地址1:https://opencv.org/releases/ OpenCV下载地址2:https://github.com/opencv/ ...
最新文章
- QT5生成可执行文件总结
- linux内核锁机制学习
- .net Core 3 preview 3试用 WPF,winform桌面开发
- 微软Edge扩展工具箱旨在将Chrome扩展带至Edge
- quantum_如何从Firefox Quantum删除Pocket
- [翻译]Go与C#的比较,第二篇:垃圾回收
- jquery 实现 点击把数据移动右侧 点击再次移回到左侧
- 明明白白你的Linux服务器——网络篇(2)
- 凸优化第三章凸函数 3.6关于广义不等式的凸性
- 小程序按钮如何制作?
- QuickJS 数字字面量解析
- uClinux移植与分析(3)
- 中科大843信号与系统中国科学技术大学843信号与系统138,总分420+上岸经验帖
- 面向Python开发人员的综合置信区间全面理解
- 高企审计报告包括哪些内容?
- acer switch 10 linux,【AcerSwitch10评测】高颜值的2in1电脑 Acer Switch 10评测(全文)_Acer Switch 10_笔记本评测-中关村在线...
- hashcat破解wifi密码(kali)
- (转载)深度工作:充分使用每一份脑力
- 网络基础之动态路由协议(OSPF)
- Navigation组件的使用详解
热门文章
- 如何使用JavaScript或JQuery检测一个URL文件是否存在?
- 容器编排技术 -- Kubernetes kubectl 概述
- 容器编排技术 -- 使用kubectl实现应用滚动更新
- Docker安装ActiveMQ(docker-compose.yml)
- 《Spring技术内幕(第2版)》PDF 国内经典分析spring源代码
- OpenJDK-11的新特征
- C#开发笔记之10-如何用C#根据发票代码判断发票种类?
- UI自动化测试 appium简介
- centos root密码_如何在CentOS中恢复丢失的root密码
- 使用Turi Create训练核心ML模型以对犬种进行分类