树莓派折腾记之安装opencv4.4.0并配置摄像头

目前opencv出4.4.0版本了,但显然aarch64设备上又没有现成编译好的包可以使用,只能自己下载source资源自己编译,整个过程要花上好几个小时。

安装准备

参考我之前一篇文章给树莓派超个频,节省编译时间
尽量在安装conda前编译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

创建文件夹

或者前往github手动下载并上传

mkdir ~/opencv && cd ~/opencv
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

创建build文件夹

cd ~/opencv/opencv
mkdir build && cd build

编译

此过程相当漫长,可达3-4个小时

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/opencv_contrib/modules
-D BUILD_EXAMPLES=ON
-D PYTHON_DEFAULT_EXECUTABLE=$(which python3) ..

根据设备核数确定-j(CPUS)

make -j4

安装

sudo make install

建立软链接

ln -s /usr/lib/python3/dist-packages/cv2.cpython-37m-aarch64-linux-gnu.so path_to_your_python_dist-packages/cv.so

编译中出现的问题

如果不想看到这些报错信息,一次编译成功,可以下载我上传的文件~/路径下并解压

1、fatal error: boostdesc_bgm.i: No such file or directory

这是由于http连接问题所致,查看报错对应的log便可了解详情

解决办法

此处下载补丁,解压,并将里面的所有文件上传至~/opencv/opencv_contrib/modules/xfeatures2d/src文件夹
or
电脑上单独下载文件,并上传至~/opencv/opencv_contrib/modules/xfeatures2d/src文件夹

wget https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_lbgm.i
wget https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_binboost_256.i
wget https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_binboost_128.i
wget https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_binboost_064.i
wget https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm_hd.i
wget https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm_bi.i
wget https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm.i
wget https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_120.i
wget https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_64.i

wget https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_48.i
wget https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_80.i

2、 fatal error: features2d/test/test_detectors_regression.impl.hpp: No such file or directory

这是由于路径下缺少文件所致

sudo cp ~/opencv/opencv/modules/features2d ~/opencv/opencv/build

配置摄像头

如果使用官方系统,开启摄像头用raspi-conf即可,不使用官方系统需要

sudo vim /boot/config.txt

start_x=1

然后

sudo vim /etc/modules

在末尾添加(mode_of_processor-v4l2)

bcm2711-v4l2

我这是树莓派4B的型号,如果非树莓派4B,参考官方Raspberry Pi hardware

参考链接:
fatal error: boostdesc_bgm.i: No such file or directory
Installing OpenCV on the Raspberry Pi
fatal error: features2d/test/test_detectors_regression.impl.hpp: No such file or directory

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。