VS2015-opencv3.2.0-opencv_contrib3.2-cmake

VS2015安装

我安装的是VS2015pro版本 资源自己找 都一样 最好去官网下载(不要下载破解的,下载正版的 激活的时候去网上找一下激活方法就好了)
一定要记得打开安装包的时候,选择 以管理员的身份运行 (血泪教训)

opencv3.2.0

下载直接去官网下载就好了 https://opencv.org/opencv-3-2.html
最下方选择Win pack 下载就好
在这里插入图片描述
安装 要记住安装路径 (我都是放在D:\opencv3.2.0)

opencv-contrib3.2.0

下载地址https://github.com/opencv/opencv_contrib
在这里插入图片描述
在这里插入图片描述
找到对应的3.2.0版本的下载 zip的就可以 下载过后直接解压(我的在D:\opencv_contrib-3.2.0)

Cmake3.8.2

官网下载https://cmake.org/download/
我下载的是3.8.2版本 (用3.13版的出现了问题 所以我用回原来成功过的3.8.2版)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装在默认目录下就行

Cmake配置与生成

在这里插入图片描述
第一个空 Browse Source 找到你opencv的安装目录下的opencv下的sources选择
第二个 找到opencv的安装目录下的opencv下的新建一个文件夹newbuild
在这里插入图片描述
然后就可以Configure (配置)了点击 选择安装环境选择VS2015 Win64(你电脑上的相应VS版本)
在这里插入图片描述
点击Finish就等吧

成功以后

找到
在这里插入图片描述
在这里插入图片描述
选择你刚解压的哦opencv3.2.0_contrib-3.2.0目录下的modules目录
(注意反斜杠)
修改完成后 就可以点击下方Generate (生成)
生成成功后 关闭Cmake

vs生成解决方案

找到newbuild目录下的Opencv(VS文件)打开在这里插入图片描述
在VS中的资源管理器中找到CMkaeTargets 中的INSTALL 右键生成耐心等待 生成完成即可
在这里插入图片描述

添加Path

找到我的电脑右键选择属性 - 高级系统设置 - 高级 - 环境变量 - 系统变量 - Path
在这里插入图片描述
双击进入修改 点击添加 opencv目录下的newbuild- install - x64- vc14- bin目录 点确定
在这里插入图片描述

VS配置opencv

重新打开VS 新建一个项目
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
完成 找到属性管理器 -Dubug|x64 - Microsoft.Cpp.x64.user -右键属性
在这里插入图片描述
找到VC++ 目录 - 包含目录 修改添加opencv相应目录
在这里插入图片描述
添加上面三个opencv目录。
在这里插入图片描述
添加上面一个opencv相应目录

找到链接器中的 输入 - 附加依赖项
在这里插入图片描述
在上面空白处复制上
opencv_calib3d320d.lib
opencv_core320d.lib
opencv_cudaarithm320d.lib
opencv_cudabgsegm320d.lib
opencv_cudacodec320d.lib
opencv_cudafeatures2d320d.lib
opencv_cudafilters320d.lib
opencv_cudaimgproc320d.lib
opencv_cudalegacy320d.lib
opencv_cudaobjdetect320d.lib
opencv_cudaoptflow320d.lib
opencv_cudastereo320d.lib
opencv_cudawarping320d.lib
opencv_cudev320d.lib
opencv_features2d320d.lib
opencv_flann320d.lib
opencv_highgui320d.lib
opencv_imgcodecs320d.lib
opencv_imgproc320d.lib
opencv_ml320d.lib
opencv_objdetect320d.lib
opencv_photo320d.lib
opencv_shape320d.lib
opencv_stitching320d.lib
opencv_superres320d.lib
opencv_video320d.lib
opencv_videoio320d.lib
opencv_videostab320d.lib
这是我的lib目录下的所有lib文件名

小技巧
往vs里面输入上面的.lib是不是很崩溃?
例如要获取目录中E:\opencv\newbuild\install\x64\vc14\lib下的所有静态链接库文件名并存储至文本.txt,方法如下:
1、win+r
2、输入:cmd回车
3、输入:cd /e E:\opencv\newbuild\install\x64\vc14\lib 回车
4、输入:dir /b *.lib >0.txt 回车
---------------------

作者:吕小猪不坏
来源:CSDN
原文:https://blog.csdn.net/wokaowokaowokao12345/article/details/48881473

完成之后就可以看一下下面的示例程序:

#include<opencv2/opencv.hpp>
    #include<iostream>
    #include<opencv2/xfeatures2d.hpp>
    #include<math.h>
    
    using namespace cv;
    using namespace std;
    using namespace xfeatures2d;
    
    
    Mat img1,img2;
    int main(int argc, char** argv)
    {
    	img1 = imread("D:/test/machesBook.png", 0);
    	img2 = imread("D:/test/Book.png", 0);
    	
    	if (!img1.data||!img2.data)
    	{
    		cout << "图片未找到" << endl;
    		return -1;
    	}
    	imshow("Book", img1);
    	imshow("machesBook", img2);
    
    	//使用surf算子求特征点
    	int minHession = 400;
    	Ptr<SURF> detector = SURF::create(minHession); 
    	vector<KeyPoint> keypoints_1;//img1的特征点存储
    	vector<KeyPoint> keypoints_2;//imh2的特征点存储
    
    	Mat descriptor_1, descriptor_2;
    	detector->detectAndCompute(img1,Mat(),keypoints_1,descriptor_1);//检测特征点并计算描述子
    	detector->detectAndCompute(img2, Mat(),keypoints_2, descriptor_2);
    
    	使用BruteForce(暴力匹配)进行匹配
    	BFMatcher bfmatcher;
    	vector<DMatch> matchs;  //存储里面的一些点的信息
    	bfmatcher.match(descriptor_1, descriptor_2, matchs, Mat());
    	Mat resultImg;
    	drawMatches(img1, keypoints_1, img2, keypoints_2, matchs, resultImg);
    	imshow("BruteForce demo", resultImg);
    
    
    	waitKey(0);
    	return 0;
    
    }

这是代码所需的图片:
在这里插入图片描述
在这里插入图片描述
结果图:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值