如何为图像中的像素指定值

时间:2015-04-08 16:17:03

标签: python opencv numpy

我有一张图片,我想为特定颜色指定值。这是代码:

for x in range(mask.shape[0]):         //my image is of size:(400,300)
    for y in range(mask.shape[1]):
        if r[x,y] == 1:
            mask[x,y]=1
        elif g[x,y] == 1:
            mask[x,y] = 1
        else
            mask[x,y] = 0

这里r,g是从cv.split(mask)生成的。

这是正确的方法吗?

1 个答案:

答案 0 :(得分:0)

在opencv中,您可以像在numpy中那样索引/切片图像中的像素:

img[x,y] = 42  #sets the value of pixel at x,y
p = img[x,y]  #gets the value of pixel at x,y

虽然没有看到任何代码,但很难说出你可能做错了什么。

对于颜色,您需要担心第三个方面:

img[x,y,0] = 42  #sets the BLUE value of pixel at x,y
v = img[x,y,1]  #gets the GREEN value of pixel at x,y

请记住,在opencv中,颜色的默认顺序是BGR,而不是RGB。