win opencv451 opencv_contral451 camke 编译 _ippitv ffmpeg 报错解决

Posted 逆风的泰迪man

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了win opencv451 opencv_contral451 camke 编译 _ippitv ffmpeg 报错解决相关的知识,希望对你有一定的参考价值。

为何需要自行编译opencv451与opencv_contrib451?
 
因为在3.0之后版本的Opencv对Sift、Sufer等新算法没有提供直接编译好的动态库来加载使用,因此必须自己编译。这是因为Sift、Sufer算法专利现在是属于哥伦比亚大学,因此opencv对这部分内容及“所谓的”不稳定模块全都放到opencv_contrib中。且只在它的Github中能够找到,opencv的官网上是没有的。因此对于想使用Sift、Sufer、双目立体匹配算法、结构光等新的算法及有专利权算法的同学需要自行编译。

一、下载opencv451与opencv_contrib451相对应的版本

1. 下载需要的opencv3.4版本源码 https://github.com/opencv/opencv/releases

2. 下载需要的opencv_contrib451版本源码(和opencv的子版本号一定要对应) https://github.com/opencv/opencv_contrib/releases

 

二、Cmake3.14 编译 OpenCV

1. 安装 Cmake3.20.0

安装包下载地址:https://cmake.org/download/

2. 编译 Opencv451

源码路径“Source code”选择你刚才释放后的的Opencv451目录下的sources文件夹,本文解压到了G:\\envirment\\opencv-4.5.1路径下,这个需要按照你的路径自行选择。

编译输出路径“build the binaries”,本文新建文件夹“BUILD”路径为G:\\envirment\\opencv-4.5.1\\BUILD,同样这个需要按照你的路径自行选择。

 

注意 source code 里面指向的不是opencv的解压目录而是里面的source目录。
如图所示, source 文件夹下面有一个CMakeList.txt文件,如果路径错误,就会报CMake Error: The source directory "/opencv" does not appear to contain CMakeLists.txt.错误。

 

编译可能会卡死在 ippitv和ffmpeg的downlaod 中

此时需要 下载资料

ffmpeg
下载地址:https://github.com/opencv/opencv
git地址:https://github.com/opencv/opencv.git
分支:ffmpeg/master_20161202

ippicv
下载地址:https://github.com/opencv/opencv
git地址:https://github.com/opencv/opencv_3rdparty.git
分支:ippicv/master_02151201

ffmpeg
将ffmpeg目录下的ffmpeg_version.cmake、opencv_ffmpeg.dll、opencv_ffmpeg_64.dll三个文件复制到【你的OpenCV路径】\\opencv\\sources\\3rdparty\\ffmpeg
根据ffmpeg.cmake里的mad5 在dll前按如图加上前缀,将内容修改为:

 

 

 

 

ippicv

 

目录“‪\\opencv_3rdparty-ippicv-master_20191018\\ippicv\\ippicv_2020_win_intel64_20191018_general.zip” 解压到\\opencv-4.5.1\\3rdparty\\ippicv
中然后下盖ippicv.cmake 

 

 如图注释内容

3 opencv_contral451 配置

 

 

 

 如图填写 opencv_contral 和 free 勾上

在搜索栏中输入 OPENCV_ENABLE_NONFREE ,在value值中点击选中。如果没有选中,那么类似SIFT这种已经被申请专利的方法就无法使用。
然后点击 configure

 

4 vs 编译

 

 批生成 选择如图。

 

5 修改环境变量

生成结束之后,需要修改环境变量。

环境变量在“此电脑”->“属性”->“高级系统设置”->“环境变量”,在用户变量里面的 Path 变量后面添加之前CMake设置的build目录\\install\\x64\\vc16\\bin,确定,退出。

 

 

 

百度网盘资源:文中提到的文件 

https://pan.baidu.com/s/1_wN6cvnYwoam-FGeMEReCg

提取码:ggs6

以上是关于win opencv451 opencv_contral451 camke 编译 _ippitv ffmpeg 报错解决的主要内容,如果未能解决你的问题,请参考以下文章

DNX451 与 DNXCORE50 获取当前应用程序目录

Opencv3.1.0 & Win10/Win7 64位 contrib编译

opencv + openframeworks + 代码块 + win7

opencv配置(win10+VS2015+opencv3.1)

[OpenCV][关于OpenCV3.2.0+VS2015+Win10环境搭建]

opencv在g++&win7下如何配置