目前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