我是openCV的新手,过去两周一直在搜索,但是所有答案都在python中或不够准确。我只是在寻找任何图像中颜色的最大数量。我尝试转换为HSV平面,然后通过循环遍历图像并提取色相通道,然后通过增加该范围内的每种颜色的计数来进行转换。但是这种方法根本不准确。因此,正在寻找更好的解决方案。
通过查看颜色转换from RGB to HSV,我认为您可以执行以下操作:
黑色: V
低于25
,S
低于100
白色: V
高于230
,S
低于30
红色:低于H
或高于15
的165
黄色: H
之间的15-45
绿色: H
之间的45-75
Cyan: H
之间的75-105
蓝色: H
之间的105-135
洋红色: H
之间的[C0
您可以通过缩小135-165
通道的范围或为颜色指定阴影来添加更多颜色,即H
,45 < H < 75
为深绿色,V < 128
为浅绿色。无论如何,您都需要区别对待黑白。这些128 < V
和S
值仅是示例,甚至可以具有针对它们的功能。在灰色阴影之后检查其他颜色。