樹莓派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安裝成功