Opencv4.5.2 + Opencv_contrib4.5.2 VS2015 Win7下编译过程和注意事项

目录

1、下载:

2、cmake

3.VS2015编译:

4.测试


可以去我的资源下载编译好的库文件,省去自己编译的麻烦。

1、下载:

下载opencv源代码 
源代码的地址是:https://github.com/opencv/opencv/

下载opencv_contrib源代码 
opencv_contrib代码地址是:https://github.com/opencv/opencv_contrib 

下载解压即可,opencv和opencv_contrib版本号必须一致;

2、cmake

  1. 新建build文件夹
  2. 打开cmake,链接source和build路径
  3. Configure  两次,
  4. 如果使用sift等非公开的特征算子,需要勾选nonfree选项;链接contrib模块路径,再次Configure,然后Generate
  • 勾选

可以勾选opencv_world选项让生成的dll文件只有opencv_world一个,这样调用起来更加方便。

  • 链接contrib模块路径

3.VS2015编译:

打开工程Open Project;

直接编译运行的话,有可能报错

LINK : fatal error LNK1210: 已超过内部 ILK 大小限制;链接时使用 /INCREMENTAL:NO

此时,把opencv_world项目属性页设置一下:

然后单独对该项目生成项目,生成之后,生成ALL_BUILD项目,然后生成install项目,在build/install即编译完成的文件;保存该文件夹,如果节省空间,其他文件都可以删了;配置工程时,链接build/install/include      build/install/x64/vc14/lib文件夹即可,bin下是dll文件,将opencv_world452d.dll这一个dll拷贝到工程目录,不需要其他很多的dll,因为cmake的时候勾选了

选项,所以只需要这一个文件,方便快捷。

4.测试

#include <iostream>
#include <vector>
#include <fstream>
#include <string>
#include <opencv2/opencv.hpp>
#include <opencv2/features2d.hpp>

using namespace std;
using namespace cv;
void main()
{

	Mat img = imread("1.jpg", IMREAD_COLOR);
	Ptr<Feature2D> sift = cv::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);
}

                                             特征点图                                                                                                                                                            原图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值