5
使用Python界面,用於OpenCV的,可以很容易地使用[]操作符訪問的圖像的像素,如下:處理的OpenCV圖像像素迅速使用python接口
img = cv.LoadImage('test.jpg')
pixel = img[10,10]
可變像素這裏是一個蟒元組對象如(10,20,30)(例如3個通道),由於元組類型不支持運算符' - '或'+',因此處理計算不是很方便。如果我希望做一個子結構上像255像素 - (10,20,30),我必須 這樣的代碼:
import numpy as np
pixel = tuple(np.array([255,255,255]) - np.array(pixel))
是有一個更快,更容易的解決方案?
另一個qustion:有沒有辦法做一個減法上的所有像素,就像在Matlab使用矩陣減法:255 - IMG(不要使用OpenCV的內建功能)。
我OpenCV的版本是2.1,我發現adaptors.py在\ OpenCV2.1 \接口\痛飲\ python和沒有一個功能所謂cv2array()或array2cv() – PinkyJie 2011-04-24 14:03:34
@PinkyJie:http://www.google.com/codesearch?q=function%3Acv2array+file%3Aadaptors.py+lang%3Apython&hl=en&btnG=Search+Code – jfs 2011-04-24 16:04:23
@PinkyJie:在另一方面上述方法可能已經過時。你的版本是否有'cv.fromarray()'函數?你對'numpy.asarray(img)'有什麼看法? http://opencv.willowgarage.com/documentation/python/cookbook.html#numpy-and-opencv – jfs 2011-04-24 16:09:33