确定原色后如何输出原色名称?

问题描述 投票:0回答:1

假定在图像中计算每种颜色的像素数。

并且像下面的代码一样打印像素数。

x=np.count_nonzero(frame)
x1=np.count_nonzero(red_mask)
x2=np.count_nonzero(blue_mask)
x3=np.count_nonzero(green_mask)
x4=np.count_nonzero(orange_mask)
x5=np.count_nonzero(yellow_mask)
x6=np.count_nonzero(cyan_mask)
x7=np.count_nonzero(black_mask)
x8=np.count_nonzero(gray_mask)
x9=np.count_nonzero(white_mask)
x10=np.count_nonzero(violet_mask)
x11=np.count_nonzero(brown_mask)

print('total number of pixels in  image', x)
print('Red is ', x1)
print('Blue is', x2)
print('Green is', x3)
print('Orange is', x4)
print('Yellow is', x5)
print('Cyan is ', x6)
print('Black is', x7)
print('Gray is', x8)
print('White is', x9)
print('Violet is', x10)
print('Brown is', x11)

如何通过计算最大输出值来输出主色。我了解使用以下脚本可以输出特定主色的像素数,但是如何输出暗色最大像素数的主色名称?

zz=max(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11)
print(zz)
python image-processing colors background-color pixel
1个回答
0
投票

您可以创建与变量相同索引的颜色列表,即

colors = ["Red","Blue",..."Brown"]

然后使用np.argmax查找最高像素数的索引

zz=np.argmax([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11])

最后,使用zz作为您的颜色列表的索引

print(colors[zz])
© www.soinside.com 2019 - 2024. All rights reserved.