树莓派4b深度学习心得(二)
上一篇文章是在刚接触树莓派时还不是特别了解系统等问题时进行写的,此篇文章呢是我进行完对图像视频以及实时视频流做完之后,在近期的不断学习以及和诸多大佬一起学习之后希望总结一些实用,躲避坑以及使用的方法,作为自己的总结。同时也希望能够帮助到大家。
一、opencv心路历程
1、作为深度学习的开始opencv一定是必不可少的,同理树莓派也是如此,但是我们首先确保自己安装的是树莓派4b官方32位os系统,再确保自己可以连接到网络的情况下接着跟作者往下学习
安装opencv首先应该选择好自己需求的版本,然后先下载camke,没有cmake就使用指令pip3 install cmake-3.18.4
这里解释一下我将原来树莓派中python2.7删除了,所以以后pip3都是如此
再跟大家分享一个特别实用的方法,大多数我们使用树莓派下载官方资料都很麻烦,或者在用指令下载东西的过程中都很慢很头疼而浪费了很多时间,方法就是根据指令之后下载失败上面的链接复制下来之后,到自己的电脑上下载下来之后用u盘传到树莓派上再执行指令安装即可,(此问题是作者经历网络问题心碎历程之后自己研究出来的结果,大部分包括以后内容好用,如果您认为自己的网络民意问题可忽略嘿嘿)
当然还有别的方法看了很多解决问题的博客,通过更换国内安装源和设置超时时间可以解决。
在pip install XXX命令的后面加上
–default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple即可
不过这个方法不一定所有问题都可以哦)
下面进入正题
这里是作者cmake的版本和结果
2、接下来我们就可以往树莓派里正确的安装opencv了
首先呢需要下载一些依赖
sudo apt-get -y install build-essential cmake unzip pkg-config
sudo apt-get -y install libjpeg-dev libpng-dev libtiff-dev
sudo apt-get -y install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get -y install libxvidcore-dev libx264-dev
sudo apt-get -y install libgtk-3-dev
sudo apt-get -y install libcanberra-gtk*
sudo apt-get -y install libatlas-base-dev gfortran
这些依赖呢亲测可以放心安装然后可以自己选择是否建立虚拟环境进行安装
另外在编译 OpenCV 之前,务必保证已经安装 numpy 包
编译安装 FFmpeg
FFmpeg 是一个音视频处理最常用的开源开发包,它功能强大,用途广泛,大量用于视频网站和商业软件,也是许多音频和视频格式的标准编码/解码实现。
sudo apt-get install yasm
sudo apt-get install libsdl2-dev -y
选择 ffmpeg 4.3.1 的版本编译安装:
wget http://ffmpeg.org/releases/ffmpeg-4.3.1.tar.gz tar -xvf
ffmpeg-4.3.1.tar.gz cd ffmpeg-4.3.1 ./configure --arch=armel
–target-os=linux --enable-gpl --enable-libx264 --enable-nonfree make sudo make install
再完成一下ldconfig的配置
#如果权限不足,申请一下 root 权限( sudo su )
echo “/usr/local/lib” >> /etc/ld.so.conf
ldconfig
最后在命令行中输入ffmpeg,查看是否有输出,有输出则为成功
编译安装 OpenCV 4.4.0
先从 https://github.com/opencv 下载两个源码包,并用上一篇介绍的 WinSCP 上传到树莓派的 Downloads 目录下:
opencv-4.4.0.zip
opencv_contrib-4.4.0.zip
解压文件
cd ~/Downloads/ unzip opencv-4.4.0.zip unzip opencv_contrib-4.4.0.zip
修改目录名
mv opencv-4.4.0 opencv
mv opencv_contrib-4.4.0 opencv_contrib
进入opencv目录,创建 build 文件夹,指定编译参数,
其中 OPENCV_EXTRA_MODULES_PATH 指向 contrib 源码处,
WITH_FFMPEG=ON 开启FFmpeg 的支持。
cd opencv
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/Downloads/opencv_contrib/modules \
-D ENABLE_NEON=ON \
-D ENABLE_VFPV3=ON \
-D BUILD_TESTS=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D CMAKE_SHARED_LINKER_FLAGS='-latomic' \
-D WITH_FFMPEG=ON \
-D BUILD_EXAMPLES=OFF ..
make -j4
安装编译好的 OpenCV:
sudo make install
sudo ldconfig
在虚拟环境下测试一下,检测是否成功:
$ python
>>> import cv2
>>> cv2.__version__
'4.4.0'
有结果即为成功,当然了在编译过程中一定不会一直一帆风顺的,缺少什么文件在哪里缺少一定要是注意思考然后下载成功,希望我们每一个不是专业人员的树莓派小白看到之后能有所收获,也欢迎各位大佬批评指教小弟,下一步准备继续写一下自己的心得体会,希望大家支持哦!