最近使用到了OpenCV扩展库contribute,踩了一点小坑整理了个教程,基本在OpenCV3.x.x版本通用,其他版本没有实践不好叙述,供后续使用者学习参考:

1.前期准备

需要准备三个内容,分别是OpenCV OpenCV contribute和CMake:

在前期准备中,最重要的就是OpenCV的使用版本与OpenCV contrib的版本一致,需要特别注意,不要直接下载contrib的版本,因为很可能下载到其他版本,这里直接给出github版本的发布页,

OpenCV:https://github.com/opencv/opencv/releases

OpenCV3.4.6 OpenCV_contrib win10教程

OpenCV contribute:https://github.com/opencv/opencv_contrib/releases

OpenCV3.4.6 OpenCV_contrib win10教程

CMake:https://cmake.org/download/

OpenCV3.4.6 OpenCV_contrib win10教程

解压缩OpenCV、Opencv contrib、CMake到文件夹中,并新建一个opencvbuild的空文件夹,名字自拟,结果如下:

OpenCV3.4.6 OpenCV_contrib win10教程

2.代码编译

在准备好需要用到的文件后,下一步进行编译,打开解压后的CMake文件夹中bin/cmake-gui.exe文件,

OpenCV3.4.6 OpenCV_contrib win10教程

配置文件路径,点击Browse Source和Browse Build将OpenCV的文件夹和opencvbuild文件夹加入到CMake中,点击Configure开始配置:

OpenCV3.4.6 OpenCV_contrib win10教程

这里我使用的是VS2017故选择VS 15 2017作为生成的工程版本,这里第二行可以选择在多少位的平台上面使用,选择后课Finish继续:

OpenCV3.4.6 OpenCV_contrib win10教程

开始配置的时间可能会比较长,因为需要额外下载几个DLL文件,这里如果因为网络原因下载比较慢(我使用的是移动蜂窝网,10分钟左右),可以在opencvbuild/CMakeDownloadLog.txt文件中查找missing命令,后面会有文件下载的链接和文件的放置位置,我尝试过下载ffmpeg.dll、ffmpeg64.dll和ippicv_2019_win_ia32_20180723_general文件,其中,

两个dll直接放到3rdparty中的ffmpeg文件夹中即可,

OpenCV3.4.6 OpenCV_contrib win10教程

ippicv_2019_win_ia32_20180723_general文件解压后将ippicv_win文件夹放到ippicv文件夹中,

OpenCV3.4.6 OpenCV_contrib win10教程

OpenCV3.4.6 OpenCV_contrib win10教程

Configure完成,勾选BUILD_opencv_world,并在OPENCV_EXTRA_MODULES_PATH中配置contrib的路径,将contrib解压后的module文件夹路径加入:

OpenCV3.4.6 OpenCV_contrib win10教程

注意,这里加入路径的方式一定要采用后面的引用,不要自己输入文件路径,由于字符问题报错。

再次点击Configure,并在Configure结束后点击Generate,完成后即可:

OpenCV3.4.6 OpenCV_contrib win10教程

3.工程使用

打开opencvbuild/OpenCV.sln工程,选择Debug或Release方式,右键工程生成解决方案,大约十分钟左右,

OpenCV3.4.6 OpenCV_contrib win10教程

在CMakeTargets中选择INSTALL,右键仅限于项目仅生成INSTALL,

OpenCV3.4.6 OpenCV_contrib win10教程

在opencvbuild/install目录如下,

OpenCV3.4.6 OpenCV_contrib win10教程

最后按照OpenCV的配置方法,将生成的文件配置到新的工程中即可,这里提供一个参考教程,不做赘述。

OpenCV3.4.6配置教程:https://blog.csdn.net/HYYC___/article/details/89512029

 

欢迎评论文章,给予宝贵建议,工程提供在github下载学习,请关注作者,共同学习交流。

相关文章:

  • 2021-08-24
  • 2022-12-23
  • 2021-12-02
  • 2021-09-23
  • 2021-12-19
  • 2021-06-26
  • 2021-04-09
猜你喜欢
  • 2021-11-26
  • 2021-10-15
  • 2021-11-24
  • 2021-12-19
  • 2022-12-23
  • 2021-06-07
相关资源
相似解决方案