最近實驗室有個影像識別的專案,目前程式寫得差不多了,硬體設備在別人公司,想著在自己的樹莓派4B上運行一下,之前在網上也用過一鍵安裝OpenCV,但是安裝完可以看到自己系統上OpenCV版本很低,專案程式用到的是OpenCV-4.5.2,在低版本的OpenCV上運行會報錯,所以安裝自己想要的OpenCV版本很重要,接下來我們來看一下安裝程序,
安裝之前的配置要做好,
切換好國內源,首先在LX終端輸入sudo nano /etc/apt/sources.list,進入到組態檔,把原來的源前面加上#注釋掉,再把國內源復制過去,常用的國內源有
中科大
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
清華
deb https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
重慶大學
deb http://mirrors.cqu.edu.cn/Raspbian/raspbian/ stretch main contrib non-free rpi
浙江大學
deb http://mirrors.zju.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
阿里云
deb http://mirrors.aliyun.com/raspbian/raspbian/ stretch main contrib non-free rpi
復制之后,保存退出,在終端輸入sudo apt-get updat,然后是sudo apt-get upgrade,值得一提的是,雖然更換了國內源,但是sudo apt-get upgrade這一步還是要很久的,我是放了一晚上讓它更新,
第一步安裝numpy
終端輸入sudo pip3 install numpy
第二步安裝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
注意,這一步執行某些指令時可能會有錯誤提示,apt-get install時報錯:Unable to correct problems, you have held broken packages.這時可以把上面出錯的陳述句中的”apt-get“換成”aptitude"再執行,例如sudo aptitude install libtiff5-dev -y,補充:aptitude 與 apt-get 一樣,是 Debian 及其衍生系統中功能極其強大的包管理工具,與 apt-get 不同的是,aptitude 在處理依賴問題上更佳一些,舉例來說,aptitude 在洗掉一個包時,會同時洗掉本身所依賴的包,這樣系統中不會殘留無用的包,整個系統更為干凈,
第三步下載OpenCV
執行命令從Github上直接下載會很慢,這里就不用這種方法了,另外一種方法是,電腦上下載opencv-4.5.2.zip和opencv_contrib-4.5.2.zip(需要contrib的話,另外這個包版本要一致),把這兩個檔案通過FileZilla傳到樹莓派的/home/pi/Doenloads目錄下(或自己的目錄下,不過這里注意一下路徑,后面第四步有執行跟這個路徑有關的命令),下面需要把這兩個包解壓一下,終端輸入cd /home/pi/Downloads進入到該目錄,輸入unzip opencv-4.5.2.zip(檔案名),sudo opencv_contrib-4.5.2.zip,
第四步設定cmake引數
cd /home/pi/Downloads,在這個目錄下創建build,mkdir build,創建好后再cd build進入目錄,然后輸入下面指令,回車,大概需要十幾分鐘的時間,
注意紫色的路徑和紅色的版本,我的python是3.7的,
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-4.5.2/modules -D BUILD_EXAMPLES=ON -D WITH_LIBV4L=ON PYTHON3_EXECUTABLE=/usr/bin/python3.7 PYTHON_INCLUDE_DIR=/usr/include/python3.7 PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so PYTHON3_NUMPY_INCLUDE_DIRS=/home/pi/.local/lib/python3.7/site-packages/numpy/core/include ..

執行后cmake配置成功的情況是這樣的:

如果沒成功,檢查路徑是否有問題,洗掉build,重新mkdir build再執行,
第五步編譯
執行下面兩步
cd /home/pi/Downloads/opencv-4.5.2/build
make
這個程序的時間比較長,大概用了五個小時,執行成功后應該是這樣的

之后再執行sudo make install,
至此整個程序就結束了,下面測驗一下安裝的OpenCV
終端輸入python3回車,再輸入import cv2回車輸入cv2.__version__
運行后安裝成功的情況是這樣的

最后輸入exit()退出,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/356202.html
標籤:其他
上一篇:人臉相關應用的優化手段
