配置過程歷經千辛萬苦,因此寫下心得,以便後人乘涼python
既然寫一次教程,就從頭開始寫,只要按照教程走,基本不會出現意外linux
首先下載樹莓派固件,我使用的是" 2018-03-13-raspbian-stretch.img "目前最新的樹莓派官方固件,而後準備空的TF卡並格式化,而後使用Win32DiskImager燒寫固件,插入樹莓派上電開機,由於第一次操做出錯機率很是高,因此不建議先安裝其餘東西,先完成編譯再安裝其餘軟件和庫git
建議在樹莓派內打開此網頁或複製文本到移動硬盤,操做時直接複製粘貼,減小出錯機率github
首先給apt換源,由於國內源的速度遠超國外源,使用Ctrl+Alt+T打開命令行vim
安裝vim,固然可使用vi或nano,本文使用vim(命令行)ide
sudo apt-get install vim
編輯apt的配置文件(命令行)ui
sudo vim /etc/apt/sources.list
按insert鍵進入編輯模式,刪除(或註釋)原內容或備份文件,而後變動爲,粘貼爲Ctrl+Shift+V,保存爲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
再輸入(命令行)url
sudo vim /etc/apt/sources.list.d/raspi.list
變動文件內容爲spa
deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
更新apt(命令行)
sudo apt-get update sudo apt-get upgrade
(以我固件版本爲準)系統已內置Python2.7和Python3.5,由於系統文件依賴Python2.7,爲了保持系統穩定性,因此使用Python3.5,有的教程使用了虛擬空間,若有須要能夠自行百度教程
給PIP換源(系統已內置PIP3,若是沒有安裝Python或PIP自行查找安裝教程)
輸入(命令行)
sudo vim /etc/pip.conf
變動文件內容爲(本文使用的是阿里雲源,也可使用清華源,豆瓣源等源地址)
[global] index-url = http://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com
安裝numpy(命令行),第一次使用pip安裝時可能會比較慢,耐心等待
sudo pip3 install numpy
查看numpy的安裝目錄並記錄(後面編譯時須要,若是不帶numpy編譯可能會卡住)
python3
import numpy
numpy.__path__
quit()
擴大TF卡的空間,若是不作這步操做,後面會出問題,好比卡死
輸入(命令行)
sudo raspi-config
而後選擇" Advanced Options "而後選擇" Expand Filesystem "而後重啓樹莓派
開始爲OpenCV安裝作準備,配置所需的庫(一次一行)
1 sudo apt-get install build-essential git cmake pkg-config -y 2 sudo apt-get install libjpeg8-dev -y 3 sudo apt-get install libtiff5-dev -y 4 sudo apt-get install libjasper-dev -y 5 sudo apt-get install libpng12-dev -y 6 sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y 7 sudo apt-get install libgtk2.0-dev -y 8 sudo apt-get install libatlas-base-dev gfortran -y
而後下載OpenCV庫和Contrib庫(強烈建議在其餘環境下載而後拷貝過來),若是須要其餘版本,就修改後面的版本號
https://github.com/Itseez/opencv/archive/3.4.0.zip https://github.com/Itseez/opencv_contrib/archive/3.4.0.zip
解壓後在opencv-3.4.0文件夾裏建立build文件夾,而後在命令行裏面cd到此文件夾,開始cmake,如下內容爲一行
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 ..
上面比其餘教程多了句" WITH_LIBV4L=ON ",若是沒有這個,可能會無法對相機參數進行設置而且會有不少問題(並無逐一驗證),其餘路徑建議逐條驗證,若是不同就修改成當前系統的路徑
而後開始編譯,此步不要使用make -j4等加速方法,很是容易報錯,耐心等幾個小時吧,欲速則不達
make && sudo make install
安裝完後重啓樹莓派,而後就能夠試試OpenCV了,記得全程都是Python3,若是路徑錯誤或者加載環境不對,使用的是pip(默認pip2)都有可能致使錯誤,建議仔細檢查後再執行命令
在此感謝如下Geeks
https://blog.csdn.net/lc_1994/article/details/52971408
https://blog.csdn.net/qq_37910312/article/details/72866242
https://stackoverflow.com/questions/16390810/opencv-cant-set-resolution-of-video-capture