我有一张图片,我想为特定颜色指定值。这是代码:
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)生成的。
这是正确的方法吗?
答案 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。