OpenCV 中国镜像仓:https://gitcode.net/opencv
介绍
相信各位开发者在初次使用 OpenCV 时都遇到过这样的问题:网上搜索OpenCV 编译教程,按照教程一步步做,执行 CMake 命令时怎么就卡在下载软件包 ADE: Download: v0.1.1f.zip 不动了?
事实上,为了增强自身性能和避免重复造轮子,OpenCV 使用了一些第三方软件库,例如 FFmpeg,oneTBB 和 ADE 等等。在 OpenCV 构建过程中,根据用户的选择,CMake 脚本会实时地从 GitHub 下载这些第三
软件库。然而,GitHub 对不同网络环境的支持有限,我们难免会遇到下载超时等种种问题。
为了解决克隆 OpenCV 源码以及构建过程的下载问题,OpenCV 中国团队联系了国内一家提供代码托管服务的网站GitCode.net,双方对 OpenCV 中国镜像的想法一拍即合,为广大 OpenCV 的开发者提供便利。
使用 GitCode.net 的 OpenCV 镜像
OpenCV 对GitCode.net镜像支持的PR#21531刚刚被合并,尚未加入发行版,因此用户需要获取最新的 OpenCV 代码体验和使用GitCode.net的OpenCV 镜像。OpenCV 对镜像的支持考虑了以下三种不同的情况:
用户从 GitCode.net 克隆 OpenCV 源码
在此情况中,用户无需任何额外的设置,CMake 脚本自动检测 Git 的源,自动从 GitCode.net 中下载第三方软件库:
$ git clone https://gitcode.net/opencv/opencv
$ cmake -B opencv-build opencv
....
-- ocv_init_download: Using gitcode-hosted mirror to download 3rdparty components.
-- Registering hook 'OPENCV_DOWNLOAD_PRE': /path/to/opencv/cmake/mirrors/gitcode.cmake
....
-- ADE: Downloading v0.1.1f.zip from https://gitcode.net/opencv/ade/-/archive/v0.1.1f/ade-v0.1.1f.zip
从以上的 CMake 输出日志可以看出成功使用GitCode 镜像:
ocv_init_download 提示使用GitCode 镜像下载第三方软件库;
相关的下载设置可在 opencv 源码opencv/cmake/mirrors/gitcode.cmake
中找到;
CMake 从 GitCode 镜像中下载 ADE 包。
用户从 GitHub.com 克隆 OpenCV 源码
在此情况中,CMake 脚本默认从 GitHub 下载第三方软件库。若将下载源改为GitCode镜像,则需在构建OpenCV时添加CMake选项-DOPENCV_DOWNLOAD_MIRROR_ID=gitcode
:
$ git clone https://github.com/opencv/opencv
$ cmake -B opencv-build -DOPENCV_DOWNLOAD_MIRROR_ID=gitcode opencv
用户下载源码包
在此情况中,用户下载的源码包不含有git的信息,CMake脚本将默认从GitHub下载第三方软件库。若将下载源改为GitCode,用户需要在构建OpenCV 时添加CMake选项-DOPENCV_DOWNLOAD_MIRROR_ID=gitcode
:
$ # 在[gitcode.net/opencv/opencv](gitcode.net/opencv/opencv)中点击'克隆'->'下载源代码zip'
$ # 或者在github.com/opencv/opencv中点击'Code'->'Download ZIP'
$ unzip opencv-4.x.zip
$ cmake -B opencv-build -DOPENCV_DOWNLOAD_MIRROR_ID=gitcode opencv-4.x
GitCode.net 对 OpenCV 其他项目的支持
GitCode.net对OpenCV Organization做了镜像支持,各个OpenCV项目的镜像每天会进行同步更新。点击阅读原文即可访问https://gitcode.net/opencv了解更多信息。如果因网络受限而无法从GitHub.com下载opencv_zoo的模型,欢迎访问https://gitcode.net/opencv/opencv_zoo进行下载。
最后
在支持镜像的PR#21531中,自定义镜像也得到了一定程度的支持。若要使用自定义镜像,可参考opencv/cmake/mirrors/gitcode.cmake
设置同文件夹下的custom.cmake
,并且需要在相关Git服务商上创建相应镜像。
欢迎大家使用OpenCV的中国镜像(https://gitcode.net/opencv)。如果使用过程中遇到bug,或者发现还没有被镜像支持的第三方软件包,请留言或者提交issue,OpenCV中国团队将会及时处理。
GitCode:欢迎更多的优秀开源项目入驻,我们会尽最大的努力,提供更多的优质服务,助力开源生态蓬勃发展。
文章出处登录后可见!