1. 程式人生 > >樹莓派筆記7:OpenCV的安裝

樹莓派筆記7:OpenCV的安裝

隨著使用樹莓派的經驗越來越豐富,自然而然地想要更近一步的發揮樹莓派的作用,例如實現影象識別功能,這是當前非常熱門的領域,為此我查閱了相關資料,知道了OpenCV是最流行的演算法庫,正好我從圖書館找到一本相當經典的書
——《OpenCV 3計算機視覺 Python語言實現》,該書側重於工程應用,因此不需要太深的影象專業知識,我打算花一段時間學習一下。

如果是要學習入門,可以在Windows上安裝Python的Windows版,並下載OpenCV庫進行安裝配置,具體的步驟可以參考網路資料,但是Windows上安裝OpenCV有點要看人品,安裝或配置失敗是大概率事件,尤其是OpenCV-Contrib模組的安裝特別麻煩,我搞了兩天都沒成功。所以比較穩妥的方法還是用虛擬機器裝一個Linux系統,在Linux系統上安裝問題會少一些。

至於在樹莓派上安裝OpenCV,我主要參考了這篇部落格:https://www.cnblogs.com/zjutlitao/archive/2018/01/12/8261688.html,寫的比較詳細,然而我最終也沒完全安裝成功,只是將OpenCV與Python2繫結,Python3識別不到。安裝過程我遇到“libgtk2.0-dev”無法安裝的情況,我的解決方法是更換軟體源,參考http://blog.csdn.net/la9998372/article/details/77886806,這裡的版本是stretch,是最新的Debian版本。因為我在樹莓派上安裝OpenCV-Contrib成功,在電腦上失敗了,所以當涉及到人臉識別等高階功能時就必須得用樹莓派了。

3月18日更新:
①按照上面給出的連結教程,安裝的是OpenCV-3.1.0版本,3.1版本的原始碼存在一個bug,當使用cv2.xfeatures2d中的一些匹配演算法時,會出現cv2.error: cv2.cpp:161: error: (-215) The data should normally be NULL! in function allocate的錯誤,解決方法是在下載的OpenCV原始碼中進行修改,將“./opencv-3.1.0/modules/python/src2/cv2.cpp”檔案中第163行中的CV_Error(Error::StsAssert, "The data should normally be NULL!");

註釋掉,再重新編譯和安裝OpenCV
②如果想用OpenCV3.1版本應用SVM,需要注意OpenCV實現了save介面用於儲存SVM模型資料,但是相應的load介面卻並未實現。