博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenCV 3.1.0编译与添加扩展模块
阅读量:6478 次
发布时间:2019-06-23

本文共 2342 字,大约阅读时间需要 7 分钟。

OpenCV 3.1.0编译与添加扩展模块

最近在弄个东西,需要把OpenCV的扩展模块中的xfeatures给包含进来,发现要自己编译OpenCV3.1.0与其扩展模块才可以实现。经过一番实践,终于编译完成,总结了一下,其实很简单,只要如下三步即可实现。在正式开始之前,有些准备工作需要做,就是下载OpenCV3.1.0还有其扩展模块,以及CMake GUI工具。

OpenCV3.1.0下载地址:

OpenCVcontrib下载地址:

cmake-gui下载地址(3.7.2):

把OpenCV就解压缩到指定目录,其中我是把OpenCV解压缩到

这里写图片描述

然后安装CMake GUI,默认安装即可。

这里写图片描述
好了之后就正式开始。
第一步
配置与生成CMake, 打开CMake GUI之后,选择好路径,点击配置,在打开的对话框中一定要选择VS14 Windows 64才可以。然后它就会自动运行得到如下结果:
这里写图片描述

然后找到OPENCV_EXTRA_MODULE_PATH设置扩展模块的路径运行完成显示如下:

这里写图片描述
这里写图片描述

第二步:

配置VS生成installer,首先到CMake的Build输出目录
D:\opencv3.1\opencv\newbuild下找到OpenCV.sln文件,双击打开之后,右键选择
->重新生成解决方案,然后在找到CMakeTargets->INSTALL, 右键选择生成installer即可。这样就会在D:\opencv3.1\opencv\newbuild下面多出一个installer的文件夹,到如果能成功生成,编译就结束了。
这里写图片描述

第三步:

重新配置OpenCV,新建一个项目打开,到【视图】-》【其它窗口】-》【属性管理器】然后选择64 debug下的User Cpp从属性中打开配置窗口

分别设置好 包含目录

这里写图片描述

库目录

这里写图片描述

还有附件依赖项中添加如下:

opencv_calib3d310d.lib
opencv_core310d.lib
opencv_features2d310d.lib
opencv_flann310d.lib
opencv_highgui310d.lib
opencv_imgcodecs310d.lib
opencv_imgproc310d.lib
opencv_ml310d.lib
opencv_objdetect310d.lib
opencv_photo310d.lib
opencv_shape310d.lib
opencv_stitching310d.lib
opencv_superres310d.lib
opencv_ts310d.lib
opencv_video310d.lib
opencv_videoio310d.lib
opencv_videostab310d.lib
ippicvmt.lib
opencv_xfeatures2d310d.lib
opencv_xobjdetect310d.lib

最后千万别忘记把bin目录改过来, 我的编译生成的OpenCV v14/bin的目录如下:

D:\opencv3.1\opencv\newbuild\install\x64\vc14\bin

添加到系统的环境变量中即可。把原来的去掉。这样就可以使用OpenCV扩展模块xfeatures2d了。测试代码与运行结果如下:

#include 
#include
#include "opencv2/core.hpp"#include "opencv2/features2d.hpp"#include "opencv2/xfeatures2d.hpp"#include "opencv2/highgui.hpp"using namespace cv;using namespace cv::xfeatures2d;using namespace std;int main(int argc, char** argv) { Mat img_1 = imread("D:/vcprojects/images/test.png", IMREAD_GRAYSCALE); if (img_1.empty()) { printf("could not load image...\n"); return -1; } imshow("input image", img_1); int minHessian = 400; Ptr
detector = SURF::create(minHessian); vector
keypoints; detector->detect(img_1, keypoints); Mat img_keypoints1; drawKeypoints(img_1, keypoints, img_keypoints1, Scalar::all(-1), DrawMatchesFlags::DEFAULT); namedWindow("key points", CV_WINDOW_AUTOSIZE); imshow("key points", img_keypoints1); waitKey(0); return 0;}

基于xfeature实现SURF特征检测的运行结果如下:

这里写图片描述

关注微信公众号【OpenCV学堂】获取图像处理相关知识。

你可能感兴趣的文章
Velocity处理多余空白和多余空白行问题
查看>>
DB2与oracle有什么区别
查看>>
创建一个多级文件目录
查看>>
Picasa生成图片幻灯片页面图文教程
查看>>
svn status 显示 ~xx
查看>>
常用HiveQL总结
查看>>
[转]使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(三)-- Logger
查看>>
POJ 3311 Hie with the Pie(状压DP + Floyd)
查看>>
Security updates and resources
查看>>
DNS为什么通常都会设置为14.114.114.114
查看>>
Sqoop架构(四)
查看>>
golang copy函数
查看>>
《你有多少问题要请示》精华集粹
查看>>
打印图片
查看>>
SHOW CREATE DATABASE Syntax
查看>>
rsync常见问题及解决办法
查看>>
MySQL日期 专题
查看>>
C#中禁止程序多开
查看>>
分布式缓存Redis使用以及原理
查看>>
Activity竟然有两个onCreate方法,可别用错了
查看>>