基于机器学习的捡球机器人设计与实现(探索)第2篇——7步完成opencv的安装(20190112)
2019-01-12?by 崔斐然
2019-04-08補充:
因為此篇文章是將opencv配置在虛擬環境中,若要開機自啟動進入虛擬環境請進行如下配置:開機腳本?
#!/bin/bashsource /home/pi/.profile workon cv內容參考自:?Adrian Rosebrock的博客:https://www.pyimagesearch.com/2016/05/16/running-a-python-opencv-script-on-reboot/
?
2019-02-27補充:
? ? ? 鑒于OpenCV安裝過程可能花費大量時間,建議使用ssh操作的同學安裝screen管理會話,避免因網絡波動造成ssh掉線任務失敗。參考我的另一篇博文: [樹莓派安裝screen保證SSH斷開 任務不中斷]
2019-02-28補充:4.4、創建虛擬環境 之前應該先使環境變量生效:source ~/.profile
?
上一篇做好了樹莓派系統的安裝和基本配置,現在開始安裝opencv,瘋狂找教程:
現在正在看這個教程:https://www.pyimagesearch.com/opencv-tutorials-resources-guides/?
從中可以找到:
Raspbian Stretch:在Raspberry Pi上安裝OpenCV 3 + Python
https://www.pyimagesearch.com/2017/09/04/raspbian-stretch-install-opencv-3-python-on-your-raspberry-pi/
其中,需要注意的是:(踩坑)
1、安裝numpy時候應該裝在cv環境里(虛擬環境作為獨立空間隔離包)
2、似乎每次進虛擬環境前都要先指定source ~/.profile?不清楚,求指點(更新:下面增加了開機啟動的辦法)
3、make時候還是穩一點吧~ 4作業可能導致系統崩潰。詳見:https://bbs.csdn.net/topics/380072770
先祭出安裝成功的截圖吧
文字版過程參考:https://www.pyimagesearch.com/2017/09/04/raspbian-stretch-install-opencv-3-python-on-your-raspberry-pi/(超級詳細。只是有幾點需要說明~見如下視頻或我的筆記)
視頻版教程參考:https://www.youtube.com/watch?v=j6RD3X94rEA(需要外網)
?
正式步驟
?
第一步:準備工作
參考上一篇《基于機器學習的撿球機器人設計與實現(探索)第1篇》
第二步:安裝依賴
1、更新系統:
sudo apt-get update && sudo apt-get upgrade2、安裝依賴:(一條一條執行)預計6-7分鐘
?
# 安裝開發人員工具: sudo apt-get install -y build-essential cmake pkg-config # 接下來, 讓我們安裝一些圖像和視頻 ito 庫。 sudo apt-get install -y libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev libv4l-dev sudo apt-get install -y libxvidcore-dev libx264-dev #從這里, 讓我們為我們的 GUI 后端安裝 GTK: sudo apt-get install -y libgtk2.0-dev libgtk-3-dev #接下來安裝兩個包含 OpenCV 數學優化的軟件包: sudo apt-get install -y libatlas-base-dev gfortran #最后, 讓我們安裝 Python 3 開發標頭: sudo apt-get install -y python2.7-dev python3-dev第三步:下載OpenCV源碼(逐條復制)
cd ~ wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.3.0.zip unzip opencv.zip wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.3.0.zip unzip opencv_contrib.zip第四步:選擇安裝Python2.7或者python3.x(這里以Python3為例吧)
1、安裝Python包管理器:
wget https://bootstrap.pypa.io/get-pip.py sudo python get-pip.py sudo python3 get-pip.py2、安裝虛擬環境(Python虛擬環境的好處自己百度)
sudo pip install virtualenv virtualenvwrapper sudo rm -rf ~/.cache/pip3、當安裝完虛擬環境后更新配置文件
在~/.profile的底部添加如下代碼
辦法1:命令:sudo?nano ~/.profile
# virtualenv and virtualenvwrapper export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source /usr/local/bin/virtualenvwrapper.shcommand+c上面的內容,然后sudo nano ~/.profile 光標移動最底部,command+v ,然后按住Ctrl+x 退出,保存?y 。搞定
辦法2:也可以使用cat EOF追加的辦法添加代碼
cat >> ~/.profile << EOF # virtualenv and virtualenvwrapper export WORKON_HOME=\$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source /usr/local/bin/virtualenvwrapper.sh EOF使環境變量生效:
source ~/.profile4、創建虛擬環境:
mkvirtualenv cv -p python3?5、進入虛擬環境:
此時終端應該顯示的是不對的檢查上述步驟
6、在虛擬環境cv中安裝Numpy :? ? (歷時10多分鐘)
pip install numpy第5步:編譯安裝OpenCV(指定雙進程下歷時2個小時)
確保處于cv虛擬環境中,不是的話參考第4.5步驟
直接編譯會報錯,原因在于官網所給鏈接失效,導致tiny_dnn無法正常下載。
2019-05-06更新:手動下載dnn:
鏈接:https://pan.baidu.com/s/1BGnzJrq0WX7vMo1CCyc_rA ?密碼:3odo
放置于\Opencv3.3\sources\.cache\tiny_dnn目錄下(需要顯示隱藏文件)
?
1、使用cmake設置build
(直接復制下面的代碼會帶上我的版權,建議先復制到word里,刪掉版權再粘貼)
cd ~/opencv-3.3.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_contrib-3.3.0/modules \-D BUILD_EXAMPLES=ON ..2、檢查設置結果的路徑是否正確
選擇Python2.7的如下:一定要核對無誤,不然剩下的白做。
選擇Python3的顯示如下:一定要核對無誤,不然剩下的白做。(已踩坑)
如果不對的話核查上述步驟,刪掉build重新設置:
cd opencv3.3.0rm -rf build3、在編譯之前配置交換空間大小(這一步應該不用退出虛擬環境。。)
sudo nano /etc/dphys-swapfile進去后把CONF_SWAPSIZE=100改為CONF_SWAPSIZE=1024 (可能會燒毀內存卡,不過無所謂啦)
4、然后如下命令重啟一下交換空間
sudo /etc/init.d/dphys-swapfile stop sudo /etc/init.d/dphys-swapfile start5、最重要一步,編譯:(請務必確保處于cv虛擬環境中)且在~/opencv-3.3.0/build目錄下
make -j2教程里用的4進程編譯,結果是速度很快但容易崩潰重啟,還會大量發熱,不如用雙進程穩定些。
等待兩個半小時。去玩會兒吧~
等待完成后別報錯啥的,開始安裝OpenCV
此時還是在opencv/build目錄下吧?不是的話進來。(記得這一步退出cv虛擬環境)
然后
cd ~/opencv-3.3.0/build sudo make install sudo ldconfig步驟6:完成最后的軟鏈接
無論在不在虛擬環境都可以。
1、檢查Python3.5的site-package目錄有沒有安裝上OpenCV
ls -l /usr/local/lib/python3.5/site-packages/total顯示目錄大小別為太小就是可以了(我應改是裝了2次,正常大概3000-4000之間吧)
2、創建軟連接
cd /usr/local/lib/python3.5/site-packages/ sudo mv cv2.cpython-35m-arm-linux-gnueabihf.so cv2.so cd ~/.virtualenvs/cv/lib/python3.5/site-packages/ ln -s /usr/local/lib/python3.5/site-packages/cv2.so cv2.so第7步:測試一下吧~
進入虛擬環境,進入Python,導入OpenCV,測試沒有報錯就是可以啦
source ~/.profile workon cv python import cv2 cv2.__version__顯示3.3.0就是OK了?
第8步:善后工作
1、恢復交換空間大小:參考本文第5.3步,改回后重啟交換空間即可。
?
2、為了每次重啟時候都要加載環境配置文件,為了省心,可以在?~/.bashrc?末尾添加
第一句export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 指定了虛擬環境使用Python3,如果上面幾步用的Python2 這邊無需設置。因為Debian和Ubuntu 默認Python2.
cat >> ~/.bashrc << EOF # 自動加載環境變量 export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv source /usr/local/bin/virtualenvwrapper.sh EOF開機時會自動加載。
?
3、備份內存卡:我還沒找到合適的辦法,未來詳見第3篇。
在這里:https://blog.csdn.net/qq_33273956/article/details/87863553
?
4、卸載OpenCV方法:
rm -rf opencv-3.3.0 opencv_contrib-3.3.0?
總結
以上是生活随笔為你收集整理的基于机器学习的捡球机器人设计与实现(探索)第2篇——7步完成opencv的安装(20190112)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: macOS下安装dlib踩坑记录
- 下一篇: OpenCV查找边缘