赞
踩
博主使用OpenCV有一段时间了,现在打算把一些基本内容总结一下,主要还是对自己的大脑做个梳理,同时能和大家交流。目前已经版本已经更新到4.1.0,增加了很多功能,具体可以上官网查看。对我个人而言,各个版本其实区别不大,喜欢用最新的稳定版本。
这里需要注意下,opencv 3.0 以后,一些有专利的算法都集中在了opencv_contrib 中,例如常用的SIFT、SURF匹配算法等,因此是非常有必要安装的,此外,下载的版本应与OpenCV版本对应。
安装最新版本的就行了。
需要注意的是,opencv提供python调用的版本,因此最好把python 2.7安装一下,否则在cmake下面的输出中可能会报错:
3. 勾选以下几个选项:
configure两次,使所有红色的选项变白
4. generate 生成VS工程
建议创建opencv工程采用相对路径的方式,把库文件拷贝到工程文件,适合多个电脑移植,以及多版本的控制。
新建VS 2015工程,在工程文件夹中新建一个3rdParty目录,把上一步生成的install文件夹中的include, x64/vc14中的bin和lib,全部拷贝到3rdParty中,效果如下:
更改VS 2015设置
setx PATH "%PATH%;D:\OpenCV\OpenCV-4-1-0-My Build\x64\vc14\bin"
如果有release需求,把上面所有与opencv_world410d有关的内容改成opencv_world410即可。
#include "opencv2/core/core.hpp" #include "opencv2/opencv.hpp" #include "opencv2/xfeatures2d.hpp" #include "opencv2/highgui/highgui_c.h" using namespace cv; using namespace std; Ptr<Feature2D> sift = xfeatures2d::SIFT::create(); int main() { Mat img = imread("C:/Users/Public/Pictures/Sample Pictures/tulips.jpg"); 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)); namedWindow("w");//, CV_WINDOW_NORMAL); resizeWindow("w", 1027, 768); imshow("w", img); imshow("w", descriptors); waitKey(0); return 0; }
结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。