树莓派编译opencv4
阅读原文时间:2023年07月08日阅读:2

前言

我用的是 树莓派3b 编译的 opencv4.1.0,如果不想编译可以直接下载我编译好的。

下载地址

直接 make install,或者按照我后续步骤复制动态链接库。

准备

需要调节虚拟内存大小,否则编译时会卡死。

vim /etc/dphys-swapfile

conf_swapsize 改为需要大小,以mb大小为单位。

重启 dphys-swapfile服务,使虚拟内存空间生效。

service dphys-swapfile restart

查看虚拟内存分配大小

free -m

依赖:

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 -y
sudo 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

如果不安装这些,编译后我发现没有图片显示的窗体,导致白白编译了一次(浪费了很多时间)。

编译用的cmake,这里我用cmake-gui

sudo apt install cmake-gui

点击完Configure,然后进行配置

BUILD_opencv_world 我一般都勾上(将很多链接库集成到world链接库,方便后面复制)。

BUILD_JAVA 取消勾选,我不需要编程java使用的。

BUILD_SHARED_LBS 勾选上,让其建立动态链接库。

BUILD_opencv_python3 勾选上。

BUILD_opencv_python2 取消勾选。

点击 Generate 。

编译

make -j4

安装

当然如果直接使用 make install 命令可以安装,但是也会安装c++的头文件和其它的一些依赖库,我只需要python上的依赖链接库,所以我单独一个一个复制的。

编译好,在 opencv-4.1.0/install/lib

libopencv_world.so.4.1.0 复制到 /lib/arm-linux-gnueabihf/ 目录中,然后使用命令ldconfig 更新链接库。

opencv-4.1.0/install/lib/python3 中的 cv2.cpython-37m-arm-linux-gnueabihf.so 复制到 /lib/python3.7/ 目录中。

最后进入目录 opencv-4.1.0/install/python_loader

python3 setup.py install