【直搗黃龍】樹莓派安裝OpenCV 3.4.1
阿新 • • 發佈:2018-11-19
首先把準備工作做好,先確保已經更換好源:樹莓派換源
首先說說配置:我的樹莓派是2018年11月份買的,系統是2018-11-13-raspbian-stretch
附上:樹莓派系統下載地址
本文程式碼均可直接複製進shell
1.安裝OpenCV 依賴包:
a. 更新軟體源 + 升級安裝包 + 升級韌體
sudo apt-get update
sudo apt-get upgrade
韌體較新或Ubuntu 則可忽略此步:
sudo rpi-update
b. 安裝構建OpenCV 相關的工具
sudo apt-get install build-essential cmake git pkg-config
其中包括build-essential、cmake、git和pkg-config
c. 安裝常用影象工具包
jpeg格式影象工具包:
sudo apt-get install libjpeg8-dev
tif格式影象工具包:
sudo apt-get install libtiff5-dev
jpeg-2000影象工具包:
sudo apt-get install libjasper-dev
png影象工具包:
sudo apt-get install libpng12-dev
d. 安裝視訊I/O包
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
e. 安裝gtk2.0
sudo apt-get install libgtk2.0-dev
f. 優化函式包
sudo apt-get install libatlas-base-dev gfortran
至此,OpenCV 依賴包已經全部安裝完成。
2. 編譯OpenCV原始碼的準備工作
a. 下載OpenCV
使用wget工具下載OpenCV 壓縮包到使用者目錄下:
wget -O opencv-3.4.1.zip https://github.com/Itseez/opencv/archive/3.4.1.zip
解壓OpenCV:
unzip opencv-3.4.1.zip
下載OpenCV_contrib庫:
wget -O opencv_contrib-3.4.1.zip https://github.com/Itseez/opencv_contrib/archive/3.4.1.zip
解壓OpenCV_contrib庫:
unzip opencv_contrib-3.4.1.zip
b. 進入解壓後的OpenCV 原始碼資料夾
cd opencv-3.4.1
c. 新建一個名為release的資料夾用來存放cmake編譯時產生的臨時檔案
mkdir release
cd release
d. 配置cmake編譯引數
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.1/modules \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_EXAMPLES=ON ..
其中引數簡介:
引數 | 作用 |
---|---|
CMAKE_BUILD_TYPE=RELEASE | 編譯方式 |
CMAKE_INSTALL_PREFIX | 安裝目錄 |
OPENCV_EXTRA_MODULES_PATH | 載入額外模組 |
INSTALL_PYTHON_EXAMPLES | 安裝官方python例程 |
BUILD_EXAMPLES | 編譯例程 |
3. 正式開始編譯:
a. 編譯
此過程極為漫長,我一共編譯了4個小時!!!
sudo make
b. 安裝
sudo make install
c. 更新動態連結庫
sudo ldconfig
恭喜!您已成功安裝OpenCV!
下面就來利用一個簡單的Python 程式檢驗一下OpenCV 是否正常工作
# --coding:utf-8--
import cv2
import numpy as np
cv2.namedWindow("gray")
img = np.zeros((512,512),np.uint8) #生成一張空的灰度影象
cv2.line(img,(0,0),(511,511),255,5) #繪製一條白色直線
cv2.imshow("gray",img) #顯示影象
while True: #迴圈等待,按q鍵退出
key=cv2.waitKey(1)
if key==ord("q"):
break
cv2.destoryWindow("gray")
若OpenCV 正常工作,則螢幕顯示一條白色斜線:
最後說一句,在此我極度建議大家備份一下,不然花了那麼長時間安裝好,萬一出了點差錯,TF卡壞了,那真是…嗶了狗了