关于win7+VS2017环境下的opencv-contirb配置的一个坑
问题出现背景:
由于课题需要用到SURF detector, 我依照网上的一下教程,把opencv-contrib的配置了一遍。但是,当我写了一个小demo来测试模块是否能正常使用的时候,程序能正常编译,但是无法调用SURF模块,其中error信息如下图:

error的大致意思是,SURF这个算法现在要收费了,建议我们在cmake的时候设置 OPENCV_ENABLE_NONFREE这个选项,然后再rebuild这个cmake后的导出项目。
如何解决问题?
一开始,我第一个想法就是百度一下这个问题,希望能快速解决这个问题,但是只找到了一篇帖子,地址:https://blog.csdn.net/zhoukehu_CSDN/article/details/83145026
该文提出的解决方案是:在cmake中设置OPENCV_ENABLE_NONFREE,再修改SURF.cpp(在opencv-contrb文件夹中)中的条件编译。但是经过尝试之后,我发现这个方法并不可行,同样会出现上图的error。方案一宣告失败。于是我琢磨,按照error的提示,应该能解决问题才对,肯定是哪里出了问题。于是我又捋一了一遍配置的过程。忽然发现其中一个步骤一直是我忽略的:
在camke过后,我们会rebulild一下导出项目(opencv.sln)。然后把相关项目的dll (D:\opencv3.4\new-build2\install\x64\vc15\bin)文件复制到C:/windows/system32中,system32这个文件夹实际起了一种备胎的作用,当VS不能依照项目配置找到dll文件时,就会在这个文件夹里面找。我的问题就在于,我在后面camake重新配置的过程中,没有把新的dll转移到system32这个文件夹。所以vs读取的,一直都是旧的dll(没有设置OPENCV_ENABLE_NONFREE)。
归纳一下结果方法:
1.重新cmake opencv,opencv-contrib,在配置OPENCV_EXTRA_MODULES_PATH的过程中也要勾上OPENCV_ENABLE_NONFREE
2.重新生成导出项目(opencv.sln)的解决方案,并把新dll文件复制到C:/windows/system32中。
最后推荐两篇配置opencv_contrib的文章:
https://blog.csdn.net/qq_23335979/article/details/82115401
https://www.cnblogs.com/jliangqiu2016/p/5597501.html
关于win7+VS2017环境下的opencv-contirb配置的一个坑的更多相关文章
- qt5.11.2+vs2017环境下opencv3.4.1编译配置
OpenCV是一个开源的计算机库,它可以帮助视觉工作者做很多富有创造性的工作,在图像处理领域扮演着重要的角色.由于opencv3.x的存在,不管你是学生还是研究人员,是专家还是初学者,都可以快速的建立 ...
- 关于python环境下的opencv安装
吐槽: 这一天我终于记起了这个博客.今天搞python环境下的opencv,又弄了一天,很烦躁.之前配置VS的opencv也是花了好久的时间,然后突然发现之前记录在电脑上的文档都找不到了,于是决定还是 ...
- win7 IIS7环境下部署PHP 7.0
最近在本机电脑win7 II7环境下部署PHP 7.0遇到一些问题,将之记录下来 简要步骤如下: 1.到php官网下载php,由于是IIS环境要下载非线程安全的版本,我下载的是7.0.13 2.解压到 ...
- 联想电脑win7旗舰版环境下的如何成功配置AppServ
联想电脑win7旗舰版环境下的如何成功配置AppServ 毕业设计中需要用Mysql数据库,并且想找一个方便Mysql数据库编程的开发工具,百度搜索了一下,AppServ集成环境安装包能快速搭建环境. ...
- java 在centos6.5+eclipse环境下调用opencv实现sift算法
java 在centos6.5+eclipse环境下调用opencv实现sift算法,代码如下: import org.opencv.core.Core; import org.opencv.core ...
- Anaconda3环境下安装OpenCV(cv2)
Anaconda3环境下安装OpenCV(cv2) 主要步骤 1 首先查看自己的Anaconda安装的python版本 2 下载相应的OpenCv.whl文件 3 使用cmd安装.whl文件 查看自己 ...
- libCURL开源库在VS2010环境下编译安装,配置详解
libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...
- 实验七:Xen环境下cirrOS的安装配置
实验名称: Xen环境下cirrOS的安装配置 实验环境: 这里的cirrOS和实验六中的busybox的启动方式相同,唯一的区别就是我们使用的cirrOS镜像中,已经包含了根文件系统.内核文件以及r ...
- 【转】mysql8.0 在window环境下的部署与配置
[转]mysql8.0 在window环境下的部署与配置 今天在阿里云window服务器上配置mysql环境,踩了一些坑,分享出来.需要的朋友可以看看.额,或许有人要吐槽我为什么不在linux上去配置 ...
随机推荐
- 自己整理的所有java知识点(不断迭代中)
1. 自己整理的所有java知识点(不断迭代中) 画图工具注册 https://www.processon.com/i/599d35fae4b00d97d7f9bb17 1.1. Java整体知识架构 ...
- Hadoop系列004-Hadoop运行模式(上)
title: Hadoop系列004-Hadoop运行模式(上) date: 2018-11-20 14:27:00 updated: 2018-11-20 14:27:00 categories: ...
- 从一张图开始,谈一谈.NET Core和前后端技术的演进之路
从一张图开始,谈一谈.NET Core和前后端技术的演进之路 邹溪源,李文强,来自长沙.NET技术社区 一张图 2019年3月10日,在长沙.NET 技术社区组织的技术沙龙<.NET Core和 ...
- 跟我一起学opencv 第五课之图像的混合
*理论-线性混合操作 g(x) = (1-α)f0(x)+αf1(x) α的取值范围位0-1之间 f0(x)为图像1,f1(x)表示第二张图像 α是混合系数 g(x)是生成的图像,对每一个像素 ...
- python安装第三方库报错visual c++ 14.0 is required
使用python安装第三方库时报错如下: error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ ...
- springBoot(13)---整合Druid实现多数据源和可视化监控
SpringBoot整合Druid实现多数据源和可视化监控 先献上github代码地址:https://github.com/yudiandemingzi/springboot-manydatasou ...
- 【Python3爬虫】百度一下,坑死你?
一.写在前面 这个标题是借用的路人甲大佬的一篇文章的标题(百度一下,坑死你),而且这次的爬虫也是看了这篇文章后才写出来的,感兴趣的可以先看下这篇文章. 前段时间有篇文章<搜索引擎百度已死> ...
- SQL优化 MySQL版 - 单表优化及细节详讲
单表优化及细节详讲 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 注:本文章需要MySQL数据库优化基础或观看前几篇文章,传送门: B树索引详讲(初识SQL优化,认识索引):htt ...
- 102 - kube-scheduler源码分析 - cobra-寻找scheduler组件启动函数
main函数在哪里? 看到这个go文件时大家是不是有一种找到入口的欣喜,同时有一种难以言表的郁闷,为什么那么短?获取一个command,然后执行一个Execute()就运行了?好像是这么回事,然后点开 ...
- angr学习
0.资料 几个主要的网站 angr的github:https://github.com/angr angr的document:https://docs.angr.io/ angr的api:https: ...