安装opencv完整教程基于python3
1.更换源
参考:https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/
Ubuntu 的软件源配置文件是 /etc/apt/sources.list
。将系统自带的该文件做个备份,将该文件替换为下面内容,即可使用 TUNA 的软件源镜像。
选择你的ubuntu版本: 16.04 LTS
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
本镜像仅包含 32/64 位 x86 架构处理器的软件包,在 ARM(arm64,armhf)、PowerPC(ppc64el)、RISC-V(riscv64) 和 S390x 等架构的设备上(对应官方源为ports.ubuntu.com)请使用 ubuntu-ports. 镜像。
使用命令更新软件源列表,同时检查编辑是否正确。再更新软件
sudo apt-get update
sudo apt-get upgrade
2.opencv相关库的下载
sudo apt-get install build-essential git cmake pkg-config -y
sudo apt-get install libjpeg8-dev -y
sudo apt-get install libtiff5-dev -y
sudo apt-get install libjasper-dev -ysudo apt-get install libpng12-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y
sudo apt-get install libgtk2.0-dev -y
sudo apt-get install libatlas-base-dev gfortran -y
3.下载opencv安装包
git clone -b 3.4.3 --recursive https://github.com/opencv/opencv.git
git clone -b 3.4.3 --recursive https://github.com/opencv/opencv_contrib.git
网速好的话还行,不好就总是各种断流,最后选择到官网下载
安装包解压
unzip opencv-3.4.3.zip
unzip opencv_contrib-3.4.3.zip
4.设置编译参数
cd ~/software/opencv-3.4.3
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=/home/pi/software/opencv_contrib-3.4.3/modules \`#本行需根据自己安装的路径修改`
-D BUILD_EXAMPLES=ON \
-D WITH_LIBV4L=ON \
-D PYTHON3_EXECUTABLE=/usr/bin/python3.7 \
-D PYTHON_INCLUDE_DIR=/usr/include/python3.7 \
-D PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \
..
5.编译
5.1 输入编译指令
make #想快点可以加参数: -jN,如:make -j4
#推荐使用make,后面的错误明显一点
5.2 编译填坑
编译过程会出现一些错误,一一解决才能编译出想要的结果
5.2.1 缺少文件 boostdesc_bgm.i
可以在一个大佬的百度云盘里下载然后将所有带i结尾的文件全部都拷贝到 opencv_contrib-3.4.3/modules/xfeatures2d/src
路径下即可
树莓派安装opencv时丢失的文件:
链接:https://pan.baidu.com/s/1xi6_5NuTFiP4SD649FgIJw
提取码:mbsj
引用:https://blog.csdn.net/qq_43762614/article/details/102760414
5.2.2 缺少opencv2/xfeatures2d/cuda.hpp 等文件
通过查找命令:
sudo find / -name cuda.hpp
得到:
将这行复制到刚才报错的文件贴换掉:
nano /home/pi/software/opencv-3.4.3/modules/stitching/include/opencv2/stitching/detail/matchers.hpp
其他此类报错地方同样处理
5.2.2 缺少numpy/ndarrayobject.h
pip3 install numpy -i https://pypi.douban.com/simple
找到其位置,按上面方法打开错误文件贴换掉:
5.2 完成
4. 安装
sudo make install
基本无意外:
4. 测试
python3
import cv2
成功