平台:win10 x64 +VS 2015专业版 +opencv-3.x.+CMake+Anaconda3(python3.7.0)
Issue说明:Opencv3.0版本已经发布了有一段时间,在这段时间也是不断的进行了更新和修复,最近看了一下3.0新增的一些功能,感觉还是蛮强大的,作为一个一直以Opencv为开发环境的程序员来说是一定要体验一下这个新版本的,特别看到说在tracking领域近年比较好的文章TLD和 KCF都有扩展包了,那更是要尝试一下。尝试用扩展包实现sift/surf算法。
原因:opencv从2.x到3.x是一个很大的转变,对于很多功能不完善、性能不稳定的模块,都被方法了extra_modules(扩展模块)里面了。这样倒是稳定了,但是对于我这样的新手,要添加这些扩展模块却是相当的痛苦啊!!因为要用到sift/surf算法,但是3.0以后这些算法都放到了在xfeacture模块中,并不在主模块中,于是就开始了艰难的配置过程。
解决办法:Win10 x64+vs2015+opencv3.4.1+附加模块opencv_contrib+cmake3.15.2编译和配置
目录:
一、下载地址汇总(OpenCV+OpenCV_contrib+CMake)
二、中间遇到的Issue汇总
三、主要参考链接
四、项目Issue
一、下载地址汇总(OpenCV+OpenCV_contrib+CMake)
OpenCV:https://sourceforge.net/projects/opencvlibrary/files/opencv-win/
OpenCV_contrib:https://github.com/opencv/opencv_contrib/releases
CMake:https://cmake.org/download/
二、中间遇到的Issue汇总
Issue1:在github上下载资料,速度只有10几KB/s,下个opencv_contrib-3.4.1.zip,需要一个多小时!!!如何修改host文件加快github访问及下载速度?
答:进入目录C:\Windows\System32\drivers\etc并打开host文件
就是要将新的host添加到文件后面添加内容
访问:http://github.global.ssl.fastly.net.ipaddress.com/#ipinfo
查看IP地址(本人的是:151.101.185.194)
然后访问:http://github.com.ipaddress.com/#ipinfo
查看IP地址(本人的是:192.30.253.112)
然后将就可以,在host文件末尾添加新的数据(一定要另起一行哦!)
151.101.185.194 github.global.ssl.fastly.net
192.30.253.112 github.com
为了是host生效,
在cmd里输入如下指令
ipconfig /flushdns
参考:百度经验:github怎么修改host表下载——https://jingyan.baidu.com/article/ea24bc397265049a62b331d7.html
Issue2:我之前的电脑是Win10 x64+vs2015+opencv3.4.1(使用opencv-3.4.1-vc14_vc15.exe解压完成的,无附加模块opencv_contrib)+cmake3.13.4,参看网上 opencv3.0中contrib模块的添加——https://blog.csdn.net/streamchuanxi/article/details/51044929 配置一直报错?方案九(x64)、方案十(x86)成功!
答:网上opencv3.0中contrib模块的添加——https://blog.csdn.net/streamchuanxi/article/details/51044929中 从以下网址下载opencv源代码和扩展模块源代码(一定要从下面链接下载,实际此博客这块有错误!参看总结)。
OpenCV: https://github.com/Itseez/opencv
Extra Modules: https://github.com/Itseez/opencv_contrib
下载:opencv-master.zip+opencv_contrib-master.zip
然后点击“configure”按钮,更改内容,然后点击“configure”,回提示Generate Done。
在D:\opencv3\build下找到OPENCV.sln,打开,找到CMakeTargets下的INSTALL,在Debug(或Release)下分别右键生成,经过40分钟左右报错!!!
方案一:上边网址:opencv3-master.zip+opencv_contrib-master.zip+vs 14 2015 x64(第一次点击“configure”按钮选择)
INSTALL生成时 报错100多项 警告100多项
方案二:上边网址:opencv3-master.zip+opencv_contrib-master.zip+vs 14 2015 win32(第一次点击“configure”按钮选择)
INSTALL生成时 报错100多项 警告100多项
官网下载opencv:opencv-master.zip+opencv_contrib-master.zip 链接:https://github.com/opencv
方案三:官网:opencv4-master.zip+opencv_contrib-master.zip+vs 14 2015 x64(第一次点击“configure”按钮选择)
INSTALL生成时 报错100多项 警告100多项
方案四:官网:opencv4-master.zip+opencv_contrib-master.zip+vs 14 2015 win32(第一次点击“configure”按钮选择)
INSTALL生成时 报错100多项 警告100多项
方案五:怀疑CMake版本问题,下载最新的CMake3.15.2(官网——CMake:https://cmake.org/download/)重试了方案一二三四
INSTALL生成时 报错100多项 警告100多项
方案六:怀疑Win10系统环境变量问题,去掉%JAVA_HOME%\bin;%MYSQL_HOME%\bin\;D:\Working\buildOpenCV\bin;D:\ProgramFiles\gtk_-bundle_2.24.10_win32\bin;D:\ProgramFiles\MinGW-V5.1.6\MinGW\bin重试了方案一二三四
INSTALL生成时 报错100多项 警告100多项
方案七:Win10+VS2017编译opencv3.2.0和opencv_contrib3.2.0来调用text模块——https://www.jianshu.com/p/4d49aa5e5656 中注意在安装VS2017的时候需要勾选使用C++的桌面开发这个选项,否则后面用CMake编译的时候可能会提示找不到C++编译器。(估计应该就是需要右边小红框里的那个东西,但是保险起见我还是全装了=-=) 怀疑VS2015安装问题,
在网上搜索VS2015未报此安装问题,另外自己安装博客也没有问题。
方案八:Win10+vs2015+opencv3.4.1+附加模块opencv_contrib+cmake3.11.0编译和配置——https://elody-07.github.io/opencv3.4.1+contrib+cmake3.11.0/#2-opencv3-4-1,重新下载opencv3.4.1+附加模块opencv_contrib
注意:opencv_contrib的版本一定要和opencv相同!!!下载:opencv-3.4.1-vc14_vc15.exe+opencv_contrib-3.4.1.zip
官网:opencv-3.4.1-vc14_vc15.exe+opencv_contrib-3.4.1.zip+vs 14 2015 win32(第一次点击“configure”按钮选择)
INSTALL生成时 报错,但是这一次只报了两个错误:1.const char不能赋值为char;2.模块计算机类型“x64”与目标计算机类型“X86”冲突
第一个错误通过定位(cv2.cpp的889行)修改“char* str = PyString_AsString(obj);”为“const char* str = PyString_AsString(obj);”解决
第二个错误无法修改
方案九:官网:opencv-3.4.1-vc14_vc15.exe+opencv_contrib-3.4.1.zip+vs 14 2015 x64(第一次点击“configure”按钮选择)
INSTALL生成时 报错,但是这一次只报了两个错误:1.const char不能赋值为char;2.无法打开文件"python37_d.lib"
第一个错误通过定位(cv2.cpp的889行)修改“char* str = PyString_AsString(obj);”为“const char* str = PyString_AsString(obj);”解决
第二个错误解决方案 参考