前 言
總結一個經驗,踩了不少坑。首先在網絡上學習是很不繫統的學習,因爲某篇文章記錄的他人在網路上學習的過程,也是他人所掌握的理論與實踐知識。這時候就考驗我們的獨立思考能力,知其然,還要知其所以然。建議我們學習的時候儘量根據官方資料學習,同時做筆記的時候將參考資料記錄下來,每個人的理解能力不一樣,當他人看你的文章有什麼不明白的地方還可以去原文中查看。如何系統的學習呢?
1.什麼是OpenCV?
OpenCV是程序員鍾愛的開源計算機視覺庫,擁有強大的內置函數和開源社羣。OpenCV配合便攜開源廉價的樹莓派,可以直接讀取來自樹莓派攝像頭PiCamera的視頻,進行人臉識別、邊緣檢測、語義分割、自動駕駛、圖像識別等各種計算機視覺開發。很多優秀開源項目,比如谷歌人工智能框架Tensorflow和人臉識別開源項目face_recognition,都需要安裝OpenCV作爲運行前提。
2.項目所需設備
硬件:
- 樹莓派 4B
- 樹莓派攝像頭模塊(PiCam)
亞博智能 - 樹莓派官方原裝攝像頭
語言和庫:
- OpenCV
- Python 3
3.樹莓派上安裝OpenCV
如果您使用的是8GB卡,則可能使用了將近50%的可用空間,因此,一件簡單的事情就是刪除LibreOffice和Wolfram引擎以釋放Pi上的一些空間:
$ sudo apt-get purge wolfram-engine
$ sudo apt-get purge libreoffice *
$ sudo apt-get clean
$ sudo apt-get autoremove
- remove – 卸載軟件包
- autoremove – 卸載所有自動安裝且不再使用的軟件包
- purge – 卸載並清除軟件包的配置
使用linux下的apt-get autoremove命令的心得體會
刪除Wolfram Engine和LibreOffice之後,您可以回收將近1GB!
在樹莓派4B 上安裝OpenCV主要參考一下文章。下載安裝依賴包的過程中踩坑很多:下載慢、國內源安裝錯誤、安裝libtiff5-dev庫報錯……唉~ 心累!!!
下載/安裝OpenCV
按照文章1~3的教程下載opencv.zip
,出現瞭解壓縮、壓縮包路徑一系列的問題,後面直接給我卡在cmake 編譯 opencv
,貌似很多人都卡在這了。
而導致編譯報錯的解決辦法在網絡上也查找了很多,有的是 cmake -D ENABLE_PRECOMPILED_HEADERS=OFF \
,也有人說是opencv壓縮包解壓路徑的問題
……
這時候我開始懷疑是不是我的樹莓派配置太低了?(Raspberry pi 1G/16G ) 想想可能性也不大呀,我首要的工作就是擴大文件系統,SD卡安裝完系統後一大部分空間實際是未被分配的。
sudo raspi-config
df -h
後來選擇採用文章4, 與前三篇文章不同的是,文章下載OpenCV採用的是git clone
直接從 GitHub 克隆。
git clone -b 4.1.0 --recursive https://github.com/opencv/opencv.git
git clone -b 4.1.0 --recursive https://github.com/opencv/opencv_contrib.git
這種方式的缺點是可能你需要等待一段時間 ?
一小會兒?
不不不……
是很長一段時間呀!!!
而且,中途又出現報錯:
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: the remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
git config --global http.postBuffer 524288000
不過,你要是嫌慢的也可以去官網直接下載完,再拷貝過來。我可是硬生生等了好幾個小時的呀!不過下載過程中你可以多做點其他事情嘛~
- [1] 【博客園】樹莓派(raspberry pi)] 02、PI3安裝openCV開發環境做圖像識別(詳細版)
- [2] 【英文教程】在Raspberry Pi上安裝OpenCV 4
- [3] 【簡書】子豪兄教你在樹莓派上安裝OpenCV
- [4] 樹莓派4的opencv4.1.0–python3.7的開發環境安裝
參考資料