C++語言很通用,但是寫程式太慢,matlab很適合科學運算,但是對於一個碼農來說又想在互連網上弄潮,因此決定使用python這個粘貼語言作為日後的工具,學了兩天感覺確實很方便,無論是科學計算、傳統型程式,互連網程式(前台,後台),可視化等都很方便,寫起來也很快,頓時覺得“生命有限,所以我們要用python”是對的,很happy!
初學者最好裝python(x,y),因為這個安裝包包含了大多數常用的包,省的自己去找各種工具包,然後安裝。我的版本的python(x,y)2.7.3.1(最新的),這個安裝包不論你自訂安裝目錄選在哪裡,C盤裡都產生了一個檔案夾“C:\Python27”,這個裡面沒有opencv包,因此要自己安裝,我下的opencv版本是2.4.4,下載後,解壓,然後把“opencv\build\python\2.7”目錄下的所有檔案(其實只有只有一個cv2.pyd檔案)複製到“C:\Python27\Lib\site-packages”目錄中,配置就完成了,就這麼簡單,因為opencv2.2後的版本完美對接了python。
使用時,直接:
import cv #這是早期的版本,類似C版本
import cv2 #這是新的版本,類似C++,像操作mat那樣方便直接對應到python的array
另外貌似opencv2.4.4對應python的手冊沒有,可以參考opencv\samples\python2目錄下的例子
訪問函數例子:
im=cv2.imread('lena.jpg',cv2.cv.CV_LOAD_IMAGE_COLOR)type(im) #Shows Numpy arrayim.shape #Numpy array object shape gives image sizecv2.imshow('Colour',im)im_gray=cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)cv2.imshow('Gray',im_gray) #show image on screencv2.imwrite('i1g.jpg',im_gray) #write to fileim_gray[...]=0 #Use Numpy broadcastingcv2.imshow('Turned black',im_gray)cv2.waitKey()
訪問映像內容例子:
img[1:4,5:10,0] #像array一樣
附一個小例子網站:http://opencvpython.blogspot.com/