最近使用到了OpenCV扩展库contribute,踩了一点小坑整理了个教程,基本在OpenCV3.x.x版本通用,其他版本没有实践不好叙述,供后续使用者学习参考:
1.前期准备
需要准备三个内容,分别是OpenCV OpenCV contribute和CMake:
在前期准备中,最重要的就是OpenCV的使用版本与OpenCV contrib的版本一致,需要特别注意,不要直接下载contrib的版本,因为很可能下载到其他版本,这里直接给出github版本的发布页,
OpenCV:https://github.com/opencv/opencv/releases
OpenCV contribute:https://github.com/opencv/opencv_contrib/releases
CMake:https://cmake.org/download/
解压缩OpenCV、Opencv contrib、CMake到文件夹中,并新建一个opencvbuild的空文件夹,名字自拟,结果如下:
2.代码编译
在准备好需要用到的文件后,下一步进行编译,打开解压后的CMake文件夹中bin/cmake-gui.exe文件,
配置文件路径,点击Browse Source和Browse Build将OpenCV的文件夹和opencvbuild文件夹加入到CMake中,点击Configure开始配置:
这里我使用的是VS2017故选择VS 15 2017作为生成的工程版本,这里第二行可以选择在多少位的平台上面使用,选择后课Finish继续:
开始配置的时间可能会比较长,因为需要额外下载几个DLL文件,这里如果因为网络原因下载比较慢(我使用的是移动蜂窝网,10分钟左右),可以在opencvbuild/CMakeDownloadLog.txt文件中查找missing命令,后面会有文件下载的链接和文件的放置位置,我尝试过下载ffmpeg.dll、ffmpeg64.dll和ippicv_2019_win_ia32_20180723_general文件,其中,
两个dll直接放到3rdparty中的ffmpeg文件夹中即可,
ippicv_2019_win_ia32_20180723_general文件解压后将ippicv_win文件夹放到ippicv文件夹中,
Configure完成,勾选BUILD_opencv_world,并在OPENCV_EXTRA_MODULES_PATH中配置contrib的路径,将contrib解压后的module文件夹路径加入:
注意,这里加入路径的方式一定要采用后面的引用,不要自己输入文件路径,由于字符问题报错。
再次点击Configure,并在Configure结束后点击Generate,完成后即可:
3.工程使用
打开opencvbuild/OpenCV.sln工程,选择Debug或Release方式,右键工程生成解决方案,大约十分钟左右,
在CMakeTargets中选择INSTALL,右键仅限于项目仅生成INSTALL,
在opencvbuild/install目录如下,
最后按照OpenCV的配置方法,将生成的文件配置到新的工程中即可,这里提供一个参考教程,不做赘述。
OpenCV3.4.6配置教程:https://blog.csdn.net/HYYC___/article/details/89512029
欢迎评论文章,给予宝贵建议,工程提供在github下载学习,请关注作者,共同学习交流。