使用OpenCV的python接口,可以使用[]运算符轻松访问图像的像素,如下所示:
img = cv.LoadImage('test.jpg')
pixel = img[10,10]
variablepixel这里是一个python tuple类对象(10,20,30)(例如3个通道),由于元组类型不支持运算符“-”或“+”,因此处理计算非常不方便。如果我希望在像素上做一个子结构,比如255-(10,20,30),我必须这样做 代码如下:
^{pr2}$有没有更快更简单的解决方案?
另一个问题:是否有一种方法可以对所有像素进行减法,比如在Matlab中使用矩阵减法:255-img(不要使用OpenCV内置函数)。在
您可以从中使用
cv2array()/array2cv()
函数适配器.py并使用numpy
数组执行所有计算。255 - imgarr
在这种情况下起作用。示例(只读数组的cv2array()
的精简版本):相关问题 更多 >
编程相关推荐