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 array im.shape #Numpy array object shape gives image size cv2.imshow('Colour',im) im_gray=cv2.cvtColor(im,cv2.COLOR_BGR2GRAY) cv2.imshow('Gray',im_gray) #show image on screen cv2.imwrite('i1g.jpg',im_gray) #write to file im_gray[...]=0 #Use Numpy broadcasting cv2.imshow('Turned black',im_gray) cv2.waitKey()
img[1:4,5:10,0] #像array一样
附一个小例子网站:http://opencvpython.blogspot.com/