樹莓派3B+ Opencv3.4安裝配置

進(jìn)行本文配置之前,請完成系統(tǒng)安裝(參考鏈接

1.更換apt鏡像源

  • 打開命令行,安裝vim(也可以安裝nano)
sudo apt-get install vim
  • 編輯apt的配置文件
sudo vim /etc/apt/sources.list
  • 按Insert鍵進(jìn)入編輯模式,保存為Ctrl+C,然后輸入" :wq "
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
  • 保存后在命令行輸入
sudo vim /etc/apt/sources.list.d/raspi.list
  • 變更文件內(nèi)容為
deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui

2.更新apt

在命令行輸入

sudo apt-get update
sudo apt-get upgrade

3.更換pip源

系統(tǒng)已內(nèi)置pip3,本人用的是python3.5(推薦python3.4以上版本)

  • 命令行輸入
sudo vim /etc/pip.conf
  • 變更文件內(nèi)容為(這里使用的是阿里云源,也可以使用清華源,豆瓣源等源地址)
[global] 
index-url = http://mirrors.aliyun.com/pypi/simple/
[install] 
trusted-host=mirrors.aliyun.com

4.安裝numpy(我的默認(rèn)有,如果沒有直接安裝就好)

sudo pip3 install numpy

5.擴(kuò)大TF卡的空間

我的16G直接就是默認(rèn)全部,如果你的不是,按照下面的擴(kuò)展就行

  • 命令行輸入
sudo raspi-config
  • 選擇 " Advanced Options " 然后選擇" Expand Filesystem "然后重啟樹莓派

增大swap空間
修改/etc/dphys-swapfile文件,增大交換空間,以免編譯ROS源碼時出現(xiàn)內(nèi)存不足現(xiàn)象。將CONF_SWAPSIZE 修改為 2048

CONF_SWAPSIZE=2048

6.安裝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

7.下載OpenCV庫和Contrib庫(建議在其他環(huán)境下載然后拷貝過來,在線下載特別慢)

我用的是opencv3.4,可以自行下載其他版本

https://github.com/Itseez/opencv/archive/3.4.0.zip
https://github.com/Itseez/opencv_contrib/archive/3.4.0.zip

8.cmake源碼

解壓后在opencv-3.4.0文件夾里創(chuàng)建build文件夾,然后在命令行里面cd到此文件夾

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  .. 
  • 此處注意幾點(diǎn)!?。?/li>
  1. 這個你要去替換成你自己的相對的路徑
OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv_contrib-3.4.0/modules
  1. " WITH_LIBV4L=ON " 這個依我個人經(jīng)驗(yàn),有地方有用,有地方也有點(diǎn)bug(網(wǎng)絡(luò)攝像頭cap的image會有error,xx bytes的溢出,但是不影響程序運(yùn)行),具體我也很懵逼。。。

9. 編譯安裝

有說不要使用make -j4加速方法的,非常容易報錯。我用了沒錯,可以試試~~

make && sudo make install

在這里你會發(fā)現(xiàn)會編譯失敗,提示fatal error: boostdesc_bgm.i: No such file or directory的錯誤。這是因?yàn)榍懊鎐make時因?yàn)榫W(wǎng)絡(luò)等原因無法下載 boostdesc 和 vgg_generated 下的 boostdesc_lbgm 和 vgg_generated 文件導(dǎo)致找不到文件而編譯失敗。
可以自行下載https://github.com/opencv/opencv_3rdparty/branches/stale?page=1
下載: “contrib_xfeatures2d_vgg_20160317” and "contrib_xfeatures2d_boostdesc_20161012"兩個文件并將解壓后的文件中的所有.i文件復(fù)制到opencv_contrib-3.4.0/modules/xfeatures2d/src目錄下。
然后重新make,執(zhí)行

 sudo ldconfig

10.最后

因編譯后的庫文件cv2.so被輸出為cv2.cpython-35m-arm-linux-gnueabihf.so,這將導(dǎo)致該模塊在Python3中無法import進(jìn)來
我們到該庫文件的安裝目錄/usr/local/lib/python3.5/site-packages/下,將其重命名為cv2.so:

主要參考下面的大神們

https://www.cnblogs.com/Pyrokine/p/8921285.html
http://m.itdecent.cn/p/3180a253fe3c

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容