opencv+opencv_contrib编译下载失败问题解决

主要是因为网的原因,opencv_3rdparty中有五处下载出错的:

  1. ippicv
  2. ffmpeg
  3. boostdesc
  4. vgg_generated
  5. face_landmark_model.dat

解决:

在github中搜opencv_3rdparty,手动下载相关文件的对应版本,再将下载的文件路径给cmake。(如果github下载太慢了可以创建个码云账号,克隆到码云上,或者直接搜别人已经克隆好的码云镜像仓库。)下面进入正题:

ippicv

cmake-gui中显示ippicv_2020_win_intel64_20191018_general.zip下载失败,或者在"3rdparty\ippicv\ippicv.cmake"中找到ippicv的版本,在github的opencv_3rdparty仓库中的分支中找对应的版本,下载、解压,记住保存的路径,比如我的路径"D:\Software\OpenCV\download\opencv_3rdparty-ippicv"
在这里插入图片描述
进入"3rdparty\ippicv\ippicv.cmake"中将第42行处的https路径替换为file路径,如下图(注意斜杠类型/)
在这里插入图片描述
替换后:
在这里插入图片描述

ffmpeg

打开opencv源码的3rdparty/ffmpegffmpeg.cmake,第一行显示了ffmpeg版本为ffmpeg/master_20200311,和上面一样,在github中的opencv_3rdparty库中找到对应的分支,下载后,
进入"3rdparty\ffmpeg\ffmpeg.cmake"中将第25行处的https路径替换为file路径,替换后如下图(注意斜杠类型/)
在这里插入图片描述

boostdesc和vgg

这个是在contrb模块中的xfeatrue部分
打开opencv_contrib源码中"modules/xfeatures2d/cmake/“路径下的"download_boostdesc.cmake"和"download_vgg.cmake”
按照上面的步骤,在opencv_3rdparty库中找到contrib_xfeatures2d_boostdesc_20161012分支和contrib_xfeatures2d_vgg_20160317分支,下载对应的文件
同样地,替换.cmake中的https路径,替换后如下
在这里插入图片描述
在这里插入图片描述

face
现在还差一个face_landmark_model.dat
在opencv_contrib源码中"modules/face/“路径下的"CMakeLists.txt”
在opencv_3rdparty库中找到contrib_face_alignment_20170818分支,下载,替换CMakeLists.txt中对应的路径,如下图
在这里插入图片描述
再次configure,显示全白,即可generate
在这里插入图片描述

  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要基于 Android 的 OpenCV 4.0.1 和 OpenCV Contrib 4.0.1 进行编译,可以按照以下步骤进行: 1. 下载 OpenCV 4.0.1 和 OpenCV Contrib 4.0.1 的源代码: ``` git clone https://github.com/opencv/opencv.git cd opencv git checkout 4.0.1 cd .. git clone https://github.com/opencv/opencv_contrib.git cd opencv_contrib git checkout 4.0.1 ``` 2. 安装 Android NDK 和 Android SDK,并设置相应的环境变量。 3. 在 opencv 目录下创建一个 build 目录,并进入该目录: ``` mkdir build cd build ``` 4. 运行以下命令,生成 OpenCV Android 库: ``` cmake -DANDROID_ABI=armeabi-v7a \ -DANDROID_PLATFORM=android-21 \ -DANDROID_TOOLCHAIN=clang \ -DANDROID_STL=c++_static \ -DWITH_OPENCL=OFF \ -DWITH_IPP=OFF \ -DWITH_TBB=OFF \ -DWITH_MATLAB=OFF \ -DWITH_CUDA=OFF \ -DWITH_GTK=OFF \ -DBUILD_opencv_apps=OFF \ -DBUILD_ANDROID_EXAMPLES=OFF \ -DBUILD_ANDROID_PROJECTS=OFF \ -DBUILD_DOCS=OFF \ -DBUILD_EXAMPLES=OFF \ -DBUILD_PACKAGE=OFF \ -DBUILD_PERF_TESTS=OFF \ -DBUILD_TESTS=OFF \ -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_TOOLCHAIN_FILE=../../android.toolchain.cmake \ ../ ``` 其中,`ANDROID_ABI` 表示 Android 平台架构,这里设置为 `armeabi-v7a`,表示 ARMv7 架构;`ANDROID_PLATFORM` 表示 Android 平台版本,这里设置为 `android-21`;`ANDROID_TOOLCHAIN` 表示使用的工具链,这里设置为 `clang`;`ANDROID_STL` 表示使用的 C++ 标准库,这里设置为 `c++_static`,表示静态链接;`WITH_OPENCL`、`WITH_IPP`、`WITH_TBB`、`WITH_MATLAB`、`WITH_CUDA`、`WITH_GTK` 分别表示是否启用 OpenCL、IPP、TBB、MATLAB、CUDA、GTK 等功能,这里都设置为 `OFF`;`BUILD_opencv_apps`、`BUILD_ANDROID_EXAMPLES`、`BUILD_ANDROID_PROJECTS`、`BUILD_DOCS`、`BUILD_EXAMPLES`、`BUILD_PACKAGE`、`BUILD_PERF_TESTS`、`BUILD_TESTS` 分别表示是否编译 OpenCV 应用程序、Android 示例、Android 项目、文档、示例、打包、性能测试、测试,这里都设置为 `OFF`;`OPENCV_EXTRA_MODULES_PATH` 表示 OpenCV Contrib 目录的路径;`CMAKE_BUILD_TYPE` 表示编译类型,这里设置为 `Release`;`CMAKE_TOOLCHAIN_FILE` 表示使用的交叉编译工具链文件。 5. 运行以下命令,编译生成 OpenCV Android 库: ``` make -j4 ``` 其中,`-j4` 表示使用 4 个核心进行编译。 6. 在 build 目录下会生成一个 `sdk` 目录,其中包含编译好的 OpenCV Android 库。 可以将该库导入到 Android Studio 中,然后在项目中使用该库提供的函数进行开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值