我遇到了几个堆栈溢出问题和解决方案,在所有问题中,解决方案基于特定颜色(红色或绿色或蓝色)。我需要识别多种类型的对象的颜色。我需要检测范围在0到255之间的颜色。所以任何人都可以帮我找到基于opencv的解决方案。
提前致谢。
答案 0 :(得分:0)
如果您已经知道什么是可能的颜色,那么它非常简单。我将谈一个例子,你可以按照相同的程序休息。
让我们说你有几种可能的组合,例如T恤可能有红色和青色,你已经有了这样一个样本的图像。然后你应该做以下事情:
步骤1:加载模板/样本图像。计算其色调直方图(或色调饱和度直方图)。
步骤2:加载您想要了解颜色的图像。也可以为此图像计算直方图。
步骤3:在所有样本/模板/示例/可能图像的直方图(即步骤1)和您想要知道颜色的图像之间执行直方图匹配()第2步)。
步骤4:对于哪种组合,您获得最大值...您的图像具有该颜色。例如,假设您的示例图像具有红色和图像的图像。青色T恤,另一个形象是bule&紫色T恤等。并且您获得blue&的最大直方图匹配()值。紫色,这意味着您想要知道的图像有蓝色和紫色。