树莓派3B安装opencv
安装Raspbian-stretch操作系统
截至目前(2019年11月7日),最新的官方操作系统是Raspbian-buster。经过跳坑,发现buster系统下命令行安装python3版本的opencv3会出现错误。而经过测试,stretch系统下安装opencv则可以顺利完成。
Raspbian-stretch操作系统下载:
链接:https://pan.baidu.com/s/1gNNQ0wuflCgHoRZFdvubCw
提取码:5s25
树莓派配置开启CSI摄像头
sudo raspi-config
选择Interfacing option,enter进入.
将camera设为enable,退出后reboot.
现在可以在指定目录下运行以下命令,拍摄一张图片并保存:
raspistill -o image.jpg
若能看到摄像头上红灯亮,红灯亮持续5s并拍照,指定目录里面有image.jpg图片文件,说明摄像头开启成功。
配置树莓派使opencv能够读取CSI摄像头数据
配置过程:
sudo nano /etc/modules
在这个文件末尾添加一行
bcm2835-v4l2
即
然后,按ctrl+o将修改写入,按enter确定写入,然后按ctrl+x退出nano编辑器。
测试摄像头是否开启成功:
vcgencmd get_camera
若得到如下结果,说明摄像头读取成功:
安装运行在python3上的opencv3
1.安装numpy
sudo pip3 install numpy
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 -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
3.下载opencv源码放到/home/pi/Downloads目录下
opencv3.4.0源码.zip解压之后包含两个文件:一个文件为opencv-3.4.0.zip,大小86.8MB。另一个文件为opencv_contrib-3.4.0.zip,大小54.5MB。
解压这两个压缩包:
cd /home/pi/Downloads
unzip opencv-3.4.0.zip
unzip opencv_contrib-3.4.0.zip
4.cmake设置编译参数
cd /home/pi/Downloads/opencv-3.4.0
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/Downloads/opencv_contrib-3.4.0/modules -D BUILD_EXAMPLES=ON -D WITH_LIBV4L=ON PYTHON3_EXECUTABLE=/usr/bin/python3.5 PYTHON_INCLUDE_DIR=/usr/include/python3.5 PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.5m.so PYTHON3_NUMPY_INCLUDE_DIRS=/home/pi/.local/lib/python3.5/site-packages/numpy/core/include ..
这需要花费一些时间,需要耐心等待
5.编译opencv
cd /home/pi/Downloads/opencv-3.4.0/build
make
受限于树莓派处理器性能,编译将耗时巨大,建议放在实验室跑一晚上
6.安装opencv
sudo make install
7.测试opencv是否安装成功
python3
import cv2
cv2.__version__
若出现如下结果,说明python3下的opencv3安装成功