我想在Opencv C ++中找到图像的主色

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

我是openCV的新手,过去两周一直在搜索,但是所有答案都在python中或不够准确。我只是在寻找任何图像中颜色的最大数量。我尝试转换为HSV平面,然后通过循环遍历图像并提取色相通道,然后通过增加该范围内的每种颜色的计数来进行转换。但是这种方法根本不准确。因此,正在寻找更好的解决方案。

c++11 colors opencv3.1
1个回答
0
投票

通过查看颜色转换from RGB to HSV,我认为您可以执行以下操作:

黑色: V低于25S低于100白色: V高于230S低于30红色:低于H或高于15165黄色: H之间的15-45绿色: H之间的45-75Cyan: H之间的75-105蓝色: H之间的105-135洋红色: H之间的[C0

您可以通过缩小135-165通道的范围或为颜色指定阴影来添加更多颜色,即H45 < H < 75为深绿色,V < 128为浅绿色。无论如何,您都需要区别对待黑白。这些128 < VS值仅是示例,甚至可以具有针对它们的功能。在灰色阴影之后检查其他颜色。

© www.soinside.com 2019 - 2024. All rights reserved.