openCV2.4.13+VS2015+Cmake开发环境配置,解决nonfree问题

来源:互联网 发布:战舰世界峰风数据 编辑:程序博客网 时间:2024/05/16 04:16

我用的是opencv3.1.0,挺好用的,且和VS20115配置压迫简单很多。但是对于nonfree这个库不支持,所以我又下了一个opencv2.4.13的源代码包,用Cmake编译,工具下载:点击打开链接,首先是解压opencv的文件,然后用Cmake编译,这些详细过程我就不写了,网上资料一大把,编译器选择vs2015 win64或vs2015,都可以,这和系统没有关系。但是要和VS2015的配置相对应。一般在VS2015下选择Debug Win32或Debug x64。这就和上面选择的编译器相对应了。接下来参考点击打开链接配置VS2015,过程一模一样。nonfree就可以使用了。这是我的测试程序:

#include<opencv2\core\core.hpp>#include<opencv2\features2d\features2d.hpp>#include<opencv2\highgui\highgui.hpp>#include<opencv2\nonfree\nonfree.hpp>#include<iostream>using namespace cv;using namespace std;int main(){system("color 2F");//改变console字体颜色//载入元图片并显示Mat srcIamge1 = imread("C:\\Users\\wjch\\Desktop\\house.png", 1);Mat srcIamge2 = imread("C:\\Users\\wjch\\Desktop\\tower.jpg", 1);if (!srcIamge1.data||!srcIamge2.data){printf("读取图片错误,请检查路径");return false;}imshow("原始图1", srcIamge1);imshow("原始图2", srcIamge2);//定义要用到的变量和类int minHassian = 400;//定义SURF中的hessian阈值特征点检测算子SurfFeatureDetector detector(minHassian);//定义一个surfFeatureDetector(SURF)特征检测类对象vector<KeyPoint>keypoints_1, keypoints_2;//vector模板类是可以存放任意类型的动态数组,能够增加和压缩数据//调用detect函数检测SURF特征关键点,保存在vector容器中detector.detect(srcIamge1, keypoints_1);detector.detect(srcIamge2, keypoints_2);//绘制特征关键点Mat img_keypoints_1, img_keypoints_2;drawKeypoints(srcIamge1, keypoints_1, img_keypoints_1, Scalar::all(-1), DrawMatchesFlags::DEFAULT);drawKeypoints(srcIamge2, keypoints_2, img_keypoints_2, Scalar::all(-1), DrawMatchesFlags::DEFAULT); //显示效果图imshow("特征检测效果图1", img_keypoints_1);imshow("特征检测效果图2", img_keypoints_2);waitKey(0);return 0;}
测试结果:



提示:因为我的opencv3.1.0配置的vs2015下Debug x64,为了避免冲突和方便切换,opencv2.4.13配置为Debug Win32。

1 0
原创粉丝点击