windows下编译opencv3.4.14 + opencv_contrib

  • Post author:
  • Post category:其他


本来是想编译OpenCV4的,但是用到的一个OCR库依赖OpenCV3,所以这次先编译opencv3.4.14。

首先下载opencv3.4.14源码,链接:

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

下载opencv_contrib3.4.14源码,链接:

https://github.com/opencv/opencv_contrib/releases/tag/3.4.14

。注意opencv和opencv_contrib的版本得对上,不然可能会出问题。

将下载下来的源码解压,创建目录compile存放编译生成的文件。

打开cmake-gui

点击“configure”按钮,这里如果选择 “Visual Studio 14 2015”,则最后生成的库会是32位。点击“Finish”按钮开始配置。

有很多红色选项说明有些文件没有下载下来。

打开compile目录下的CMakeDownloadLog.txt,根据里面的提示信息下载缺失的文件,注意:这里电脑必须能上外网,否则可能会下载不下来。比如CMakeDownloadLog.txt里面有如下提示信息,表示需要将

https://raw.githubusercontent.com/opencv/opencv_3rdparty/e99214251d9f3cde7c48abd46b2259bddc9885b6/ffmpeg/opencv_ffmpeg.dll

下载到E:/AudioVideo/opencv/SourceCode/opencv/opencv3.4.14/compile/3rdparty/ffmpeg目录中。

#do_copy "opencv_ffmpeg.dll" "fad5ada9be36120bba8966709e7953a8" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/e99214251d9f3cde7c48abd46b2259bddc9885b6/ffmpeg/opencv_ffmpeg.dll" "E:/AudioVideo/opencv/SourceCode/opencv/opencv3.4.14/compile/3rdparty/ffmpeg"
#missing "E:/AudioVideo/opencv/SourceCode/opencv/opencv3.4.14/compile/3rdparty/ffmpeg/opencv_ffmpeg.dll"
#cmake_download "E:/AudioVideo/opencv/SourceCode/opencv/opencv3.4.14/opencv-3.4.14/.cache/ffmpeg/fad5ada9be36120bba8966709e7953a8-opencv_ffmpeg.dll" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/e99214251d9f3cde7c48abd46b2259bddc9885b6/ffmpeg/opencv_ffmpeg.dll"

这里一般还会提示缺少ffmpeg_version.cmake文件,打开链接:

https://raw.githubusercontent.com/opencv/opencv_3rdparty/e99214251d9f3cde7c48abd46b2259bddc9885b6/ffmpeg/ffmpeg_version.cmake

网页另存为文件,另存为ffmpeg_version.cmake.txt。然后再拷贝到opencv3.4.14\compile\3rdparty\ffmpeg目录,重命名为ffmpeg_version.cmake。这里如果自己新建一个txt,然后直接将网页上的内容拷进去,然后再该后缀为.cmake是不行的,会提示md5不匹配。 boostdesc_bgm.i、boostdesc_bgm_bi.i等文件也如此操作。

下载完所有缺失的文件后,目录大概会如下所示:

下载所有缺失的文件后,勾选cmake-gui中的BUILD_opencv_world选项(使最后只生成一个库),勾选OPENCV_ENABLE_NONFREE选项,OPENCV_EXTRA_MODULES_PATH选项中填写opencv_contrib-3.4.14源码解压后里面的modules的路径(比如opencv_contrib-3.4.14\modules),去掉勾选ENABLE_PRECOMPILED_HEADERS,再次configure,可以看到没有红色了,并且CMakeDownloadLog.txt里面也

没有报错。如下图所示:

然后点击“Generate”按钮,出现“Generating done”的提示信息后,点击“Open Project”

在vs中点击“生成”->“重新生成解决方案”

如果没有错误,右击INSTALL,点击“仅用于项目->仅生成INSTALL”

然后即会在install目录下生成dll相关的内容。

参考文章:



OpenCV3.4.1+opencv_contrib编译:windows 10



Windows10下编译opencv3.4.3(支持Nonfree)



版权声明:本文为u014552102原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。