現在python火啊,每次OpenCV自帶的ml模塊都讓我直呼坑爹,索性準備用python來做OpenCV后期的機器學習算法的處理。于是趕緊拿起這本書讀讀。
適合OpenCV和python都有一定基礎的。。。。由于都比較熟悉這兩個東西,我閱讀之前比較關心的只有幾個問題,具體的應用實例沒有仔細看。
1.如何在python中安裝opencv
2.OpenCV的Mat數據結構能否方便的轉換成numpy的array結構
3.OpenCV的GUI模塊在python里好用么
4.二者還能擦出什么我想不到的火花么。。。。
書中提到在windows系統中,python-32bit表現的比64bit要好,推薦安裝32位的python
第一個問題在windows下很簡單,OpenCV安裝好之后,找到目錄<build_folder>libReleasecv2.pyd(from a Visual Studio build) 這個文件,然后copy到C:Python2.7Libsite-packages。搞定了,就這么簡單。畢竟腳本語言,簡直無情,sourcessamples下有很多python的例子,跑幾個試試就知道是否安裝好了。import cv2這句就可以導入cv2模塊了
第二個問題也不用擔心了,因為python不用聲明變量的類型,實驗了一下,發現得到的矩陣的數據類型就是array,穩了,直接拿來用。
第三個問題也超簡單,圖像顯示讀寫的模塊、攝像頭模塊、鼠標鍵盤的響應模塊都可以,跟c++的版本使用起來也差不多。
第四個問題我簡單粗看了一遍書,沒發現什么亮點,只是書中提到一個pygame可以用來做hgui效果還行,支持畫畫和編輯文本,不過好像對CV也沒啥幫助,所以就沒研究了。
補充幾個我學習的時候遇見的問題:
opencv里的Rect數據結構在python里是沒有對應類型的,這個要注意調用的時候需要注意。比如rectangle函數輸入的就是矩形兩個點的坐標,不是Rect。
還有就是opencv里的很多宏在python里需要加上cv2.cv前綴就可以生效了。