準備作業1:拓展檔案系統
首先你要確定你有沒有拓展檔案系統?如果沒有的話需要先進行設定:
sudo raspi-config
選擇高級選項選單

然后選擇拓展檔案系統

之后系統會提示你重啟,如果沒有的話通過命令重啟
sudo reboot
準備作業2:安裝依賴關系
第一步需要更新和升級現有的軟體包:
sudo apt-get update
sudo apt-get upgrade
這可能需要花費你幾分鐘的時間,如果速度過慢可以選擇換軟體源 :
1 在命令視窗輸入 sudo nano /etc/apt/sources.list(sudo 是指系統管理員權限啟動,nano是樹莓派內置的輕量級文本編輯器,/etc/apt/sources.list是軟體源的組態檔地址)
2 將原本的內容全部注釋掉(在檔案前面加#號),然后復制粘貼以下內容到最下方:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
(這是國內的清華源,自用感徑訓不錯)
如下圖所示:

然后Ctrl+O寫入 ,Enter確定 ,Ctrl+X退出
第二步 我們需要一些開發工具,包括CMAKE
sudo apt-get install build -essential cmake pkg-config
第三步,我們需要一些影像和視頻的I/O包以確保能處理視頻流和圖片
影像包:
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
視頻包:
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
第四步,為了編譯OpenCV的highgui模塊,我們需要安裝GTK開發庫(highgui模塊用于在螢屏上顯示影像并構建基本的GUI)
sudo apt-get install libgtk2.0-dev libgtk-3-dev
第五步,安裝一些額外的依賴進一步優化(矩陣操作)
sudo apt-get install libatlas-base-dev gfortran
第六步,安裝python3頭檔案來系結編譯Opencv
sudo apt-get python3-dev
下載OpenCV源代碼
做好所有準備作業之后,我們可以從OpenCV官方的倉庫中獲取,我現在的版本是OpenCV4.5.4,可以通過訪問官方倉庫查詢最新版本,然后后面的版本號全部替換4.5.4就可以,
查詢版本

確定了版本號就讓我們開始安裝:
cd - (進入主目錄,下載路徑為/home/pi/)
wget -O opencv.zip https://github.com/Itseez/opencv/archive/4.5.4.zip #獲取壓縮包
unzip opencv.zip #解壓
我們還需要獲取OpenCV_contrib存盤庫(注意:確保OpenCV和 OpenCV_contrib版本相同)
cd -
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/4.5.4.zip
unzip opencv_contrib.zip
在開始編譯OpenCV之前,我們需要安裝Python pip
wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
了解虛擬環境virtualenv和virtualenvwrapper
虛擬環境是一種特殊工具,他可以為每個不同的專案創建不同的環境以滿足需要,它解決了專案A需要版本2.7,而B專案需要3.7的問題
開始安裝:
sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/.cache/pip #洗掉 pip安裝快取目錄
安裝好之后我們需要組態檔:
sudo nano ~/.profile #進入profile配置
在# virtualenv and virtualenvwrapper后面添加:
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=/home/pi/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

然后Ctrl+O寫入 ,Enter確定 ,Ctrl+X退出
現在組態檔更新之后,我們需要應用它:
source ~/.profile
創建Python虛擬環境
mkvirtualenv cv -p python3 #cv是我給我的鏡像起的名字,當然你可以起任何名字
下面是我整理的一些虛擬環境的常用命令:
mkvirtualenv # 創建虛擬環境
rmvirtualenv # 洗掉虛擬環境
workon # 進入虛擬環境、查看所有虛擬環境
deactivate # 退出虛擬環境
進入虛擬環境:
source ~/.profile
workon cv
當你重啟樹莓派或者或者打開一個新的終端都需要通過這個命令重新進入虛擬環境
為了驗證你在虛擬環境中,當你看到(cv)就表示你在虛擬環境中

在你的Raspberry Pi上安裝NumPy
現在我們進入虛擬環境cv中,我們需要的唯一依賴就是NumPy
pip install numpy
編譯安裝OpenCV
第一步首先我們要確保進入虛擬環境,同上進入步驟
第二步我們要使用CMake來配置我們的版本
cd ~/opencv-4.5.4/ #進入opencv的檔案夾
mkdir build #創建安裝目錄
cd build #進入安裝目錄
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-4.5.4/modules \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_EXAMPLES=ON ..
#/CMAKE_BUILD_TYPE是編譯方式
CMAKE_INSTALL_PREFIX是安裝目錄
OPENCV_EXTRA_MODULES_PATH是加載額外模塊
INSTALL_PYTHON_EXAMPLES是安裝官方python例程
BUILD_EXAMPLES是編譯例程(這兩個可以不加,不加編譯稍微快一點點,想要C語言的例程 的話,在最后一行前加引數INSTALL_C_EXAMPLES=ON,要C++例程的話在最后一行前加引數INSTALL_C_EXAMPLES=ONINSTALL_CXX_EXAMPLES=ON)
#
第三步編譯前配置交換空間大小
完成Cmake配置之后回到最上級目錄
打開你的sudo nano /etc/dphys-swapfile然后修改CONF_SWAPSIZE變數:

這使得編譯不會因為記憶體問題停止
然后我們要激活交換空間:
sudo /etc/init.d/dphys-swapfile stop #停止
sudo /etc/init.d/dphys-swapfile starting #啟動
現在我們重新進入目錄準備開始編譯
cd ~/opencv-4.5.4/build
sudo make -j4 #編譯
編譯的程序需要大概一個小時左右,需要耐心等待,
編譯完成之后,應該如下圖所示:

然后我們開始安裝它:
sudo make install #安裝
sudo ldconfig #更新元件

安裝之后,OpenCV應該安裝在/usr/local/lib/python3.7/site-packages中,我們用ls命令驗證一下

我們可以看到cv2檔案 ,現在我們要將他系結到Python 3.7 的虛擬環境中
cd ~/.virtualenvs/cv/lib/python3.7/site-packages/
ln -s /usr/local/lib/python3.7/site-packages/cv2 cv2

當一切就緒之后我們需要測驗以下OpenCV是否安裝正常,我們可以試著查詢以下OpenCV的版本
python3
import cv2
cv2.__version__


最后不要忘記更換交換大小!!!
如果忘記這一步可能會導致記憶體損壞
sudo nano /etc/dphys-swapfile

進入之后將剛剛的1024注釋掉然后原來的100取消注釋,最后重啟即可:
sudo /etc/init.d/dphys-swapfile stop #停止
sudo /etc/init.d/dphys-swapfile starting #啟動
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/325441.html
標籤:AI
