0
我有一个图像,我打开使用LoadImageM
,我得到像素数据使用Get2D
放我似乎无法找到任何内置函数来更改像素值。 我试过使用多种东西从Rectangle
到CV_RGB
,但没有成功的结果。更改像素值
我有一个图像,我打开使用LoadImageM
,我得到像素数据使用Get2D
放我似乎无法找到任何内置函数来更改像素值。 我试过使用多种东西从Rectangle
到CV_RGB
,但没有成功的结果。更改像素值
考虑检出新版本的opencv库。
您与
import cv2
导入并直接返回numpy的阵列。
因此,例如,如果你做
image_array = cv2.imread('image.png')
那么你可以访问并通过简单的操作image_array
改变像素值:
image_array[0,0] = 100
设置左上像素值100。
根据您的安装情况,您可能已经有cv2
绑定,因此请检查import cv2
是否有效。
否则,只需安装opencv
和numpy
,你很好走。
其实我已经有了cv2,因为我在代码的开头使用'import cv2.cv作为cv'。所以你认为只用cv2而不用cv是值得的,那是对的吗?顺便说一下,我发现了一个名为'Set2D'的cv函数,它完全符合我的需求。考虑到其他函数的名称是'Get2D',这是非常明显的... – Leo 2013-02-26 22:14:22
是的,这是正确的!使用numpy数组比处理旧的API要容易得多。您可以直接在您的openCV结构上使用所有scipy和numpy函数,而无需将所有内容来回转换。它要好得多。 – entropiece 2013-02-27 01:32:39