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

我用的是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。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jeff_ROS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值