OpenCV:快速高效解决cmake时的ippicv、face_landmark.dat等文件下载失败问题

前言

Ubuntu中安装OpenCV的教程很多,有少数博客提出了手动下载ippicv、face_landmark.dat等文件放在本地.cache文件夹中来解决cmake时的下载问题但是这种方法太繁琐了。

这里我来给出一种稍微简单一点的方法。

1.安装依赖,下载OpenCV和opencv_contrib包

sudo apt install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libpng-dev libjpeg-dev libtiff5-dev libswscale-dev libjasper-dev libdc1394-22-dev libtiff-dev python-dev python-numpy libtbb2 libtbb-dev

这里有一个问题就是libjasper-dev的包被Debian10遗弃了。这个包主要用于JPEG-2000格式的图片处理,因此我没有安装这个包

随后git clone opencv的官方源码(如果网速太慢可以选择gitee上的opencv源)

git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

2.修改ippicv、ffmpeg等第三方包的下载地址

OpenCV主包中的ippicv、ffmpeg等第三方包统一放在3rdparty中管理,下载地址在xxx.cmake中

cd opencv/3rdparty/ippicv
nano ippicv.cmake

可以看到下方有一个raw.githubusercontent.com的下载地址,在它前面加上一个代理:

https://ghproxy.com/

然后下载路径看起来是这样的

"https://ghproxy.com/https://raw.githubusercontent.com/opencv/opencv_3rdparty/.../ippicv/"

就OK了

ffmpeg也是同理。

Contrib包中的第三方包face、xfeatures2d也是同理,不过face包中的face_landmark.dat下载地址在CMakeLists.txt中,xfeatures2d中的文件下载地址在xfeatures2d/cmake文件夹中

3.cmake和编译安装

cd opencv
mkdir build
cd build
cmake .. -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D PYTHON_DEFAULT_EXECUTABLE=$(which python3) -D WITH_TBB=ON -D WITH_EIGEN=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules/ -D OPENCV_GENERATE_PKGCONFIG=ON
make -j2
sudo make install

接着需要配置opencv的环境,

# 把opencv库添加到系统路径
sudo nano /etc/ld.so.conf.d/opencv.conf
# 这是一个空白文件,在后面添加
# /usr/local/opencv/lib
sudo ldconfig

# #配置pkg-config
sudo nano /etc/bash.bashrc
# 在末尾添加 
# PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
# export PKG_CONFIG_PATH

# 更新bash配置
source /etc/bash.bashrc
sudo updatedb

最后测试一下配置是否正确,

pkg-config --libs opencv4
# 如果出现 -lopencv_core 等一长串链接库则说明配置正确

4.总结

其实很简单,就是cmake时如果有文件下载失败,找到该文件的下载链接放在哪个文件里,然后修改下载链接(加个代理),就完事儿了。

  • 11
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值