在sift算法实现中,出现了这个问题

出现问题:\vs2015opencv\vs2015\project\mode\mode\sift算法1.cpp(3): fatal error C1083: 无法打开包括文件: “opencv2/nonfree/features2d.hpp”: No such file or directory

解决方案:

opencv在3.0版本后sift等一些非免费开源的方法和函数被放到到了opencv_contrib库里,所以直接用opencv调用sift相关函数是无法加载的,需要自己Cmake源代码生成包含opencv_contrib的库;

其中有opencv3.2的自解压windows包,下载地址为:https://opencv.org/opencv-3-2.html
opencv_contrib-3.2.0.zip压缩包,下载地址为:https://github.com/opencv/opencv_contrib/releases
CMake可视化编译工具,需要自己下载安装
protobuf-cpp-3.1.0.tar.gz时谷歌的文本协议工具,需要翻墙下载,在编译的时候下载容易因为无法下载出错,所以提前下载:https://github.com/google/protobuf/releases?after=v3.2.1

 安装相关步骤:

https://blog.csdn.net/weixin_37800680/article/details/72566294
https://blog.csdn.net/KYJL888/article/details/74332710
https://blog.51cto.com/joekeji/1917226 //这个安装介绍的最详细,我是以这个为主

安装过程中错误和重要步骤提醒:

1.这里的vs版本和电脑位数一定要选对

2.这里一定要选对opencv_contrib源码包中的modules目录位置

3、在vs2015上的设置与再生成

第一个坑:

这里出错:

VS 编译后 install报错(error MSB3073):https://blog.csdn.net/weixin_30869099/article/details/97188900

这一步很容易出错;我花了一天才弄好,具体见我的博文:

opencv3.2.0+opencv_contrib-3.2.0+vs2015相关文件的配置

4.install生成后,重新建项目,搭建新环境出错:

环境配置可参考:

win7+VS2015+opencv3.2.0 安装配置坑点详解LINK ERROR 1104

但是我的还是出错了。提示我:

无法打开文件“opencv_aruco320d.lib”

我的路径都是对的,但是就是提示打不开;

解决:(1)系统变量没有添加;

(2)添加依赖项直接复制网上的,依赖项后面很可能有空格或者其他不能识别,直接导致找不到;

可以复制完后,删除空白位置;

(3)上述两步都做了;但是还是会出错。

解决:这种问题最简单粗暴的方法,是把相关的dll都拷贝到Windows操作系统的目录下。如果你的Windows安装在C盘,那么路径就是c:\Windows\System32。按照之前我的OpenCV的存放环境;

最后成功!

其实最简单的是使用低版本的opencv库,因为从opencv3.0后,一些不成熟的库就放在opencv_contrib-3.2.0这个包里面;

最后一句:环境搭建真是浪费时间,大家搭配环境时一定要看仔细,一步错了就要重新搭建或者找错

还有许多错误我没遇到,但是一位大神写的很清楚,我的就是参考其搭建成功,网址

OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置

opencv3.2.0+opencv_contrib-3.2.0+vs2015开发配置的更多相关文章

  1. (一)在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib 及一些问题

    一.准备工作: 1.下载OpenCV安装包:https://github.com/opencv/opencv 安装过程实际上就是解压过程,安装完成后得到(这里修改了文件名): 2.下载opencv_c ...

  2. ubuntu16.04 安装opencv3.2.0以及opencv_contrib-3.2.0

    1.需要的包:sudo apt-get install build-essentialsudo apt-get install cmake git libgtk2.0-dev pkg-config l ...

  3. 在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib 及一些问题

    一.准备工作: 1.下载OpenCV安装包:https://github.com/opencv/opencv 安装过程实际上就是解压过程,安装完成后得到(这里修改了文件名): 2.下载opencv_c ...

  4. ubuntu 16.04 安装Opencv-3.2.0_GPU 与 opencv_contrib-3.2.0

    1.准备依赖库 sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config ...

  5. 继《在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib》修订

    在之前的<在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib>中有些问题,后来由于时间不是很充足,故现在对其中的问题进行完善,如下所示对红色框框中的相应的 ...

  6. 17 win7 sp1 x64/VS2015下配置creo4.0二次开发环境——调用了众多开源库(ceres-solver,PCL1.8.0,office 2016COM接口,MySql数据库等)

    0 引言 本次开发环境的配置是在综合考虑了开源库的版本.VS版本以及CREO4.0的版本,同时针对甲方需求选择了win7 sp1 x64系统. 配置的过程中遇到了形形色色的问题,但是一一解决了.通过这 ...

  7. OpenCV3.2 + VS2015环境配置

    一.准备工作: (1)   到OpenCV的官网(http://opencv.org/)下载OpenCV3.2 (2)   安装好VS2015. (3)   计算机系统:Win7(Win8, Win1 ...

  8. Caffe使用: Ubuntu 14.04(x64) 从cuda 7.0 升级到 cuda8.0

    由于之前已经在Ubuntu 14.04 x64上面安装cuda7.0+caffe, 并且已经配置好,caffe也已经跑通. 但是最近需要使用Torch,而Torch对cuda的要求是8.0,因此决定对 ...

  9. Atitit.c# .net 3.5 4.0 4.5 5.0 6.0各个版本新特性战略规划总结

    Atitit.c# .net 3.5 4.0 各个版本新特性战略规划总结 1. --------------.Net Framework版本同CLR版本的关系1 2. paip.----------- ...

随机推荐

  1. HTML块级、行级元素,特殊字符,嵌套规则

    如果介绍HTML网页基本标签的嵌套规则,首先要说的就是元素的分类.元素可以划分为块级元素和行级元素,块级元素是什么?它可以独占一行,可以设置宽高度,默认是100%:行级元素与之相反,它的内容决定它的宽 ...

  2. mutations.js文件书写规范及模板调用此文件书写方法

    1)mutations.js代码如下 const mutations={ add(state){ state.count++ }, reduce(state){ state.count-- } } 2 ...

  3. 【54】目标检测之Bounding Box预测

    Bounding Box预测(Bounding box predictions) 在上一篇笔记中,你们学到了滑动窗口法的卷积实现,这个算法效率更高,但仍然存在问题,不能输出最精准的边界框.在这个笔记中 ...

  4. Python学习课程零基础学Python

    python学习课程,零基础Python初学者应该怎么去学习Python语言编程?python学习路线这里了解一下吧.想python学习课程?学习路线网免费下载海量python教程,上班族也能在家自学 ...

  5. Upx 压缩go编译的程序 frp

    1. frp 程序占用大 .路由器 不够空间 2. UPX 下载地址       https://github.com/upx/upx/releases/ 3.  压缩命令  upx.exe -9 C ...

  6. linq to sql 比较字符串形式的时间

    where Convert.ToDateTime(t.Date.Trim()).CompareTo(Convert.ToDateTime("2009/9/9")) >= 0 ...

  7. STL-优先级队列-priority_queue

    头文件是<queue> 操作很简单 #include <iostream> #include <cstdio> #include <queue> usi ...

  8. 解决问题:当redis服务端断开的时候`进程会崩溃(转载6哥笔记)

    package main import ( "fmt" "github.com/astaxie/beego/logs" "github.com/gar ...

  9. 安卓平台SQLite数据库基础操作总结

    最近学了一些安卓开发,在这里分享一下SQLite数据库的使用相关部分,我使用的工具为Android Studio,后台语言为java: 首先,需要创建一个数据库辅助类DataBaseHelper,用于 ...

  10. vue 学习2

    模板指令.属性总结 html 中的标签属性 1. :class 值是对象,key为class 的值,值为boolean类型 html标签任意属性都可以:属性,表示动态值(值是变化的,不是固定不变的) ...