win7+vs2015+opencv3.4.2+opencv-contrib3.4.2安装

为了安装这个东西,忙了三天,安了n次,还把vs换了好几次,网上教程比较详细,这里主要说下踩的坑,希望能帮助大家。

http://t.csdn.cn/pmDsY

这个博主写的比较详细,大家可以看看。

1.在加入opencv-contrib模块后,进行configure出现报错

(1) 报错信息如:watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP55m95a2m5omT5a2X,size_14,color_FFFFFF,t_70,g_se,x_16

 这是raw.githubusercontent.com无法访问,导致下载失败。

(2)怎么办

只能自行下载,这里推荐一个下载网站,

https://ghproxy.com这个网站可以代理下载github等网站的文件。

或者可以修改电脑hosts这个就不说了,自行百度,网上教程很多,但是我用着不太好使。

(3) 怎么下载,下载后放哪里

打开CmakedownloadLog.txt文件,这个可以用everything软件(强烈推荐)查找,在此只说下一小部分,如:

use_cache "D:/Program Files (x86)/Opencv/opencv/sources/.cache"

do_copy "opencv_ffmpeg.dll" "fa5a2a4e2f37defcb95bde8ed145c2b3" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/8041bd6f5ad37045c258904ba3030bb3442e3911/ffmpeg/opencv_ffmpeg.dll" "D:/Program Files (x86)/Opencv/opencv/opencv342build/3rdparty/ffmpeg"

这里就是从https://raw.githubusercontent.com/opencv/opencv_3rdparty/8041bd6f5ad37045c258904ba3030bb3442e3911/ffmpeg/opencv_ffmpeg.dll

下载opencv_ffmpeg.dll文件,把它放入D:/ProgramFiles(x86)/Opencv/opencv/opencv342build/3rdparty/ffmpeg"文件夹下

并把它拷到D:/ProgramFiles(x86)/Opencv/opencv/sources/.cache文件夹下,注意要把名字修改成MD值-文件名的形式,即fa5a2a4e2f37defcb95bde8ed145c2b3-opencv_ffmpeg.dll

其他缺失文件类似,特别要注意.i和.cmake文件下载后要把下载网页转换下成文件形式.

这里放下百度网盘里的ffmpeg,ippicv,boostdesc文件需要者自取

链接:https://pan.baidu.com/s/1Jig-QSsgKawfrQ4tUrEDwg 

提取码:owgo

2.一般解决第一步中问题,就差不多成了,但是我在install后发现install里vc14文件夹中.lib文件只有两个即:

opencv_img_hash342d.lib

opencv_world342d.lib

我以为是cmake错误,就又重新搞了一遍,其实是在cmake中configure时选了BUILD_opencv_world所以把库都放在一块了。

3.代码实验

#include<opencv2\opencv.hpp>

#include<opencv2\xfeatures2d.hpp>

#include<opencv2\xfeatures2d\nonfree.hpp>

 

 

using namespace cv;

using namespace cv::xfeatures2d;

 

int main()

{

 Mat srcImage1 = imread("car.jpg", 1);

 Mat srcImage2 = imread("car1.jpg", 1);

 

 imshow("图1", srcImage1);

 imshow("图2", srcImage2);

 

 int minHessian = 400;

 

 Ptr<SURF>detector = SURF::create(minHessian);//定义检测类

 std::vector<KeyPoint>keypoint1, keypoint2;

 

 //检测特征点放入vector

 detector->detect(srcImage1, keypoint1);

 detector->detect(srcImage2, keypoint2);

 

 //绘制特征点

 Mat img_keypoint1, img_keypoint2;

 drawKeypoints(srcImage1, keypoint1, img_keypoint1, Scalar::all(-1));

 drawKeypoints(srcImage2, keypoint2, img_keypoint2, Scalar::all(-1));

 

 imshow("检测图1", img_keypoint1);

 imshow("检测图2", img_keypoint2);

 

 waitKey(0);

 return 0;

}

这是surf算法实现

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP55m95a2m5omT5a2X,size_11,color_FFFFFF,t_70,g_se,x_16

 自此安装完毕。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值