今天就跟大家聊聊有關樹莓派3b pyhon3.5怎樣安裝opencv3.1,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
創新互聯建站是一家集網站建設,紫陽企業網站建設,紫陽品牌網站建設,網站定制,紫陽網站建設報價,網絡營銷,網絡優化,紫陽網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力??沙浞譂M足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。
提醒:先確保有足夠大的空間,最好要預留3,4G的剩余空間吧。
老步驟,在進行軟件安裝之前首先要更新一下現有的軟件包:
sudo apt-get update sudo apt-get upgrade #更新系統,慎重選擇
注意:apt-get update 你要做一下,但是apt-get upgrade除非你安裝不成功,否則不要運行,時間有可能會很長...
安裝cmake:
sudo apt-get install build-essential cmake pkg-config
安裝各種圖像格式的包:
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
安裝視頻I/O包:
sudo apt-get install libavcodec-dev libavformat-dev libswcale-dev libv4l-dev sudo apt-get install libxvidcore-dev libx264-dev
安裝GTK開發庫:
sudo apt-get install libgtk2.0-dev
再安裝幾個依賴關系進一步優化OpenCV:
sudo apt-get install libatlas-base-dev gfortran
確認下python開發環境的安裝(可以不做):
sudo apt-get install python2.7-dev python3-dev
我在~下新建一個opencv的文件夾,用來存放接下來要用的各種東西。然后切換到這個目錄下。
cd~ mkdir opencv cd opencv
下載opencv 3.1源代碼
wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.1.0.zip unzip opencv.zip
全面安裝后,我們還需抓取OpenCV的contrib的存儲庫:
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip unzip opencv_contrib.zip
警告:opencv和opencv_contrib的版本一定要相同!?。。?br/>注意:很多文章中此處是用git下載源代碼的,但是opencv比較大,下載源代碼的話時間將會很長。用wget的方式下載壓縮包時間可控點。最省時間的方法:在windows下用迅雷下載這兩個zip文件,然后放到樹莓派下解壓縮,這種時間最少。
那就是:virtualenv和virtualenvwrapper
我已經寫了一篇文章了,具體安裝過程參考:
https://my.oschina.net/u/2396236/blog/1632522
新建虛擬環境
virtualenv和virtualenvwrapper安裝配置完成后,新建一個名為opencv的python3虛擬環境
mkvirtualenv -p /usr/bin/python3 opencv
確認自己已經進入了這個虛擬環境,假如沒有進入,需要用workon進入虛擬環境
workon opencv
進入虛擬環境后,在命令行的左側的括號內會出現虛擬環境的名字
接下來我們的操作,就是在名為opencv的虛擬環境中完成的,這個虛擬環境使用python3創建的。
numpy是opencv的依賴包,要先在虛擬環境中安裝一下。
pip install numpy
接著我們使用CMake設置構建:
cd ~/opencv/opencv-3.1.0/ mkdir build cd build cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib-3.1.0/modules \ -D BUILD_EXAMPLES=ON ..
注意:這里格外需要注意下OPENCV_EXTRA_MODULES_PATH這個參數,要指定你自己的opencv contrib目錄地址
接下來就要進行編譯了
make
大部分文章會建議用
make -j4
來調用4個核心來編譯,時間大大縮短。但是據說這樣不是太穩定,容易出錯。我直接用make命令單核心編譯的,花了差不多4個小時,據說用4核心,差不多一個半小時。大家不妨一試。
make的過程中,很可能報如下的錯,讓人倒吸一口涼氣:
Generating precomp.hpp.gch/opencv_core_Release.gch 2 In file included from /usr/include/c++/6/bits/stl_algo.h:59:0, 3 from /usr/include/c++/6/algorithm:62, 4 from /opt/opencv/opencv-3.1.0/modules/core/include/opencv2/core/base.hpp:53, 5 from /opt/opencv/opencv-3.1.0/modules/core/include/opencv2/core.hpp:54, 6 from /opt/opencv/opencv-3.1.0/modules/core/include/opencv2/core/utility.hpp:52, 7 from /opt/opencv/build/modules/core/precomp.hpp:49: 8 /usr/include/c++/6/cstdlib:75:25: fatal error: stdlib.h: 沒有那個文件或目錄 9 #include_next <stdlib.h>
參考https://www.cnblogs.com/liutianchen/p/6089878.html
大概的意思是/usr/include/c++/6/cstdlib文件中的include_next在這里不好使,得老老實實用include代替。于是我們需要修改報錯部分的源代碼,將include_next 修改成 include。make的過程中,大概有兩處需要按此修改。就行了。
等漫長的編譯100%完成后,終于可以安裝了
安裝opencv
sudo make install sudo ldconfig
為虛擬環境引用類庫
如果是python3+虛擬環境,將編譯好的so文件,鏈接到虛擬環境中。
cd ~/.virtualenvs/opencv/lib/python3.5/site-packages/ ln -s /usr/local/lib/python3.5/dist-packages/cv2.cpython-35m-arm-linux-gnueabihf.so cv2.so
注意,此處又有坑:
所有文章中都指出編譯好的so文件,位于/usr/local/lib/python3.5/site-packages,文件名為cv2.so。
我試驗過兩次,cv2.so原始文件名應該是cv2.cpython-35m-arm-linux-gnueabihf.so。兩次生成的目錄名居然不一樣:
第一次:/usr/local/lib/python3.5/下根本沒有site-packages目錄,只有一個dist-packages目錄,dist-packages下也沒有cv2.so文件,卻有一個cv2.cpython-35m-arm-linux-gnueabihf.so文件,這就是opencv編譯好以后的文件。
第二次:site-packages存在,cv2.cpython-35m-arm-linux-gnueabihf.so文件在site-packages目錄下。原因不明。我感覺好慌....
python >>> import cv2 >>> print(cv2.__version__) 3.1.0
若成功顯示版本號,則opencv安裝成功。
刪除下載解壓縮的文件和文件夾,這些文件和文件夾都很占用空間:
opencv_contrib.zip opencv.zip opencv_contrib-3.0.0/ opencv-3.0.0/
看完上述內容,你們對樹莓派3b pyhon3.5怎樣安裝opencv3.1有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創新互聯行業資訊頻道,感謝大家的支持。
當前名稱:樹莓派3bpyhon3.5怎樣安裝opencv3.1
網站鏈接:http://vcdvsql.cn/article2/gjjdic.html
成都網站建設公司_創新互聯,為您提供App設計、微信公眾號、網站營銷、虛擬主機、小程序開發、網站策劃
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯