正文之前
網(wǎng)絡(luò)上太多的安裝opencv的教程了,但是不是太舊就是各種幺蛾子遭顶。我昨晚測試了一個老外寫的张峰。好像是基于什么虛擬環(huán)境弄出來。棒旗。喘批。直到今天安裝成功了我才知道,我要那玩意干嘛跋橙唷H纳睢!逛拱!簡直廢物好么敌厘?我只是想要import cv2可以成功而已,哪管那么多橘券?额湘?!旁舰!傻了吧唧的锋华。所以又找了一篇文章,簡單但是準(zhǔn)確<堋毯焕!我照著做了。磺樱。一下就OK了(編譯確實花了一下午吧纳猫?我沒看,中午出去竹捉,晚上回來樹莓派崩了芜辕。重啟之后刪了點東西就OK了)
正文
本文大部分內(nèi)容來自以下博客,如果侵權(quán)块差,立馬刪除:
我就不跟他一樣從樹莓派燒系統(tǒng)開始了侵续。。直接假設(shè)你手上有一個已經(jīng)安裝了好了python3.5的樹莓派憨闰。然后內(nèi)存足夠環(huán)境了白次稀!
第一步 安裝好numpy
這個我雖然不知道干啥用鹉动,但是大家都用了轧坎,安裝也就一分鐘。不礙事~
sudo pip3 install numpy
下面這一步不知道你有沒做過泽示,不過可以進去看看缸血,如果沒有那個選項蜜氨,自然就是已經(jīng)擴展了:
擴大TF卡的空間,如果不做這步操作属百,后面會出問題记劝,比如卡死。輸入(命令行)
sudo raspi-config
然后選擇" Advanced Options "然后選擇" Expand Filesystem "然后重啟樹莓派
開始為OpenCV安裝做準(zhǔn)備族扰,配置所需的庫(一次一行)
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
我當(dāng)初不是用的這些命令來安裝依賴庫的。是另外一個老外的教程定欧。不過這個應(yīng)該也可以渔呵,后面我也照著跑了一次,應(yīng)該照這個就可以跑完
然后直接找個目錄砍鸠,把下面兩條命令跑了:
wget https://github.com/Itseez/opencv/archive/3.4.0.zip
wget https://github.com/Itseez/opencv_contrib/archive/3.4.0.zip
然后把這兩個zip解壓掉扩氢,為了防止某些小白,我還是說說怎么解壓爷辱。录豺。
簡單來說,就是unzip加壓縮文件的名字饭弓。双饥。記得兩個都要解壓~~
解壓后在opencv-3.4.0文件夾里創(chuàng)建build文件夾,然后在命令行里面cd到此文件夾弟断,
cd opencv-3.4.0
mkdir build
cd build
然后開始cmake咏花,以下內(nèi)容為一行(先不要抄,看我后面解釋阀趴,不然你就死啦死啦滴昏翰!):
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 ..
這里面有幾個關(guān)鍵點,第一個:
OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv_contrib-3.4.0/modules
這個東西你要去替換成你自己的相對的路徑刘急,以python/opencv_contrib-3.4.0
為基準(zhǔn)棚菊。我的就是這個樣子:
第二點:雖然這個路徑大部分是對的,但是你也要看看你的是不是叔汁,而且版本問題也很嚴(yán)重的..最好看一下统求,免得幾個小時就為這錯誤買單。
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 ..
注意版本問題球订,然后就是一般問題都是處在最后一個numpy的安裝路徑的問題上。瑰钮。這里面這個明顯那不是普羅大眾的手法冒滩。。比如我的:
我估計大部分人的安裝路徑跟我差不多浪谴,還不如直接抄我的:
PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include
前面我都斷行了开睡,但是實際上都在一行里面啊因苹。。慎重啊兄dei篇恒!
然后開始編譯扶檐,此步不要使用make -j4等加速方法,非常容易報錯胁艰,耐心等幾個小時吧款筑,欲速則不達
make && sudo make install
這里估計要四五個小時吧。腾么。然后還有個很令人悲傷地事實:
Opencv要完全編譯安裝奈梳。。他么起碼要用掉我4.3G內(nèi)存解虱。攘须。因為我晚上回來看的時候,VNC都沒有內(nèi)存給我開臨時目錄了殴泰。于宙。。然后忍痛刪掉了我1.2 G的PDF學(xué)習(xí)資料之后才好了起來悍汛。悲傷啊捞魁。。但是一切都是值得的T蹦J鹱ぁ!我等下就玩一下opencv健霹,紀(jì)念那些被我刪除的資料M稀!糖埋!
正文之后
初步成功~ opencv小小入門級玩法宣吱,不過貌似C++才是大頭,感動瞳别,希望以后還能不拉下我的C++U骱颉!