Ubuntu20.04安装OpenCV官方教程(C++&&Python接口)

Python安装方式

sudo apt update
sudo apt install libopencv-dev python3-opencv

导入cv2模块并打印版本

python3 -c "import cv2; print(cv2.__version__)"

输出

4.2.0

从源码安装OpenCV

安装构建工具和所有的依赖软件包:
    sudo apt install build-essential cmake git pkg-config libgtk-3-dev \
    libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \
    libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \
    gfortran openexr libatlas-base-dev python3-dev python3-numpy \
    libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev \
    libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
克隆OpenCV和OpenCV contrib源(速度慢可以用代理)

新建文件夹名称为opencv_build,不然可能报错

mkdir ~/opencv_build && cd ~/opencv_build
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
进入opencv文件夹并新建build文件夹并切入
cd ~/opencv_build/opencv
mkdir -p build && cd build
使用 CMake 命令配置 OpenCV 构建(PATH 设置为自己的目录)
cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_C_EXAMPLES=ON \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D OPENCV_GENERATE_PKGCONFIG=ON \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
    -D BUILD_EXAMPLES=ON ..

输出将会如下,则成功

-- Configuring done
-- Generating done
-- Build files have been written to: /home/vagrant/opencv_build/opencv/build
开始编译
make -j16

根据你的处理器修改-f值。如果你不知道你的处理器核心数,你可以输入nproc找到。

报错处理
  • 出现报错fatal error: boostdesc_bgm.i: 没有那个文件或目录的解决方法
  • 编译OpenCV提示opencv_contrib缺少boostdesc_bgm.i等文件的解决方法
    需要将test_detectors_invariance.impl.hpp复制到opencv_contrib/modules/xfeatures2d/test/
安装
sudo make install
查看版本
pkg-config --modversion opencv4
参考

本文参考博客:
https://cloud.tencent.com/developer/article/1657529
https://blog.csdn.net/qq_45488453/article/details/110289423

总结

Python方式安装简单,推荐使用源码编译的方式安装,这样更加灵活一些。如果在下载源码的过程中速度太慢,可以使用ss。
如果大家有什么问题,欢迎大家留言交流。

  • 21
    点赞
  • 131
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值