【问题标题】:How to find color of the objects(cloth color of human being)?如何找到物体的颜色(人的布色)?
【发布时间】:2014-03-19 12:21:42
【问题描述】:

我遇到了几个堆栈溢出问题和解决方案,在所有问题中,解决方案都基于特定颜色(红色或绿色或蓝色)。我需要识别多种类型的对象的颜色。我需要检测范围在 0 到 255 之间的颜色。所以任何人都可以帮助我提供基于 opencv 的解决方案。

提前致谢。

【问题讨论】:

  • 请详细说明。你到底想做什么?您需要物体检测,还是只读取特定像素上的颜色?您是想按颜色对对象进行分组,还是只检测所需颜色的区域?
  • 你是什么意思,颜色从 0-256 ?通常颜色表示为 RGB 三元组,每个分量都有自己的值,介于 0 到 255 之间。RGB 的替代方法是 HSV 表示,其中 H(Hue) 从 0 到 360 度变化。
  • 1. Segment your image 2. 计算每个段的颜色。祝你好运。
  • @MatthiasBonora,我需要找出并识别人的衣服颜色。
  • @MSalters,我的意思是说检测 RGB 值在 0-255 之间的任何颜色。

标签: c++ visual-studio-2010 object opencv colors


【解决方案1】:

如果您已经知道可能的颜色是什么,那么它非常简单。我会讲一个例子,你可以按照同样的程序休息。

假设您有几种可能的组合,例如,一件 T 恤可能有红色和青色,而您已经有了这样一个样本的图像。那么你应该做到以下几点:

第 1 步:加载模板/示例图像。计算其色调直方图(或色调饱和度直方图)。

第 2 步:加载您想知道颜色的图像。计算这张图片的直方图。

第 3 步: 在所有样本/模板/示例/可能图像的直方图(即第 1 步)和您想知道颜色的图像(即步骤 2)。

第 4 步: 对于哪种组合,您将获得最大价值...您的图像具有该颜色。例如,假设您的示例图像有红色和青色 T 恤的图像,另一个蓝色和紫色 T 恤的图像等等。并且你得到 blue&purple 的最大直方图matching() 值,这意味着你想知道的图像有蓝色和紫色。

【讨论】:

  • 我没有预先知道图片中的布料颜色。它可以是任何颜色,但我需要识别和识别该颜色。
  • 你的布是单色还是多色?我的意思是ht
  • 可以是单个也可以是多个
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-02
  • 1970-01-01
  • 2010-09-23
  • 2021-03-01
  • 2011-08-26
  • 2016-08-29
  • 1970-01-01
相关资源
最近更新 更多