您的位置:首页 > 运维架构

opencv3.1.0+contrib模块编译总结

2017-09-20 22:14 381 查看
查看了不少相关的博客,但是都没有编译通过,尝试了好久才成功,这里做个总结吧。
我编译成功的版本为:

opencv 3.1.0
VS2013
CMaker3.9.3
系统为W10x64bit
 
1. 关于opencv_contrib模块
contrib模块是不包含在opencv 官方库中的,因为里面放的都是一些比较新的,可能还不够稳定的算法。所以当我们需要用一些比较新的算法时,可能就需要用到contrib模块了。
关于contribute模块具体包含一些什么样的算法,可以参考下面的博客,没有找到3.1.0版本的,将就这3.0.0版本的看吧:
【OpenCV3.0.0】各个modules的功能介绍(包含Contrib库)
 
2. opencv 3.1.0 +opencv_contrib模块编译
在尝试编译的过程中遇到过很多问题,总是编译不过。下面将一些重要的信息罗列如下:
a. 如果要编译opencv_contrib模块,就直接下载Source code来进行编译

 


b. opencv和opencv_contirb的版本一定要匹配
opencv的source code 和opencv_contrib可以直接到GitHub上下载,链接如下。但是要注意的是一定要是相同的版本,比如我下载的是opencv 3.1.0, 那么opencv_contrib也要下载3.1.0的版本。
source code
opencv_contrib
 
c. cmake编译的过程中可能出现下载某个文件无法下载的问题
例如要下载opencv_ffmpeg.dll等文件,由于是国外的资源,有可能会下载不下来,这时可以百度相关文件名,下载到相应的路径下就能解决。
期间还出现过CMake Error at cmake...一类的错误,但是当下载正确的版本后,不再有此问题。
更多了可以参考下面这篇博文:
windows下opencv3.1(3.0)安装opencv_contrib常见问题总结
另外就是别忘了添加extra_module_path,将其设置为contrib文件夹下面的module文件夹。

 


具体的编译步骤可以参考
在Windows下编译扩展OpenCV 3.1.0 +opencv_contrib
 
3. 编译成功
编译成功后,打开opencv.sln文件,可以发现modules文件夹下已经有xfeatures2d等文件了。
 


 
4. 环境配置
a. 环境变量设置的路径应该是install下的...install\x64\vc12\bin
 
b. VC++目录-->包含目录,添加:
D:\opencv3.1.0\opencv\mybuild\install\include
 
c. VC++目录-->库目录,添加:
D:\opencv3.1.0\opencv\mybuild\install\x64\vc12\lib
D:\opencv3.1.0\opencv\mybuild\install\x64\vc12\staticlib
 
d.
链接器-->输入-->附加依赖项,添加: (下面添加的release的版本,注意添加的库与编译选项要一致,需要注意debug比release的文件名多了个d)
opencv_aruco310d.lib

opencv_bgsegm310d.lib

opencv_calib3d310d.lib

opencv_ccalib310d.lib

opencv_core310d.lib

opencv_datasets310d.lib

opencv_dnn310d.lib

opencv_dpm310d.lib

opencv_face310d.lib

opencv_features2d310d.lib

opencv_flann310d.lib

opencv_fuzzy310d.lib

opencv_highgui310d.lib

opencv_imgcodecs310d.lib

opencv_imgproc310d.lib

opencv_line_descriptor310d.lib

opencv_ml310d.lib

opencv_objdetect310d.lib

opencv_optflow310d.lib

opencv_photo310d.lib

opencv_plot310d.lib

opencv_reg310d.lib

opencv_rgbd310d.lib

opencv_saliency310d.lib

opencv_shape310d.lib

opencv_stereo310d.lib

opencv_stitching310d.lib

opencv_structured_light310d.lib

opencv_superres310d.lib

opencv_surface_matching310d.lib

opencv_text310d.lib

opencv_tracking310d.lib

opencv_ts310d.lib

opencv_video310d.lib

opencv_videoio310d.lib

opencv_videostab310d.lib

opencv_xfeatures2d310d.lib

opencv_ximgproc310d.lib

opencv_xobjdetect310d.lib

opencv_xphoto310d.lib

5.配置完成后,新建一个测试项目
可能会出现error,提示缺少opencv_imgcodecs310d.dll或其他的.dll文件,这时可以采取如下的解决办法
解决方法:
a.找到上述所有文件,本人该文件所在目录是C:\openCV\opencv\myBuild\bin\Debug
如果找不到,可以到网上下载,下载地址
b.并拷贝到C:\Windows\system32\目录下,或者C:\Windows\SysWOW64目录下
具体可参考:
OpenCV3.0.1源码编译及自带样例工程代码编译
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息