2017-08-25 66 views
1

假设我们有一个穿蓝色衬衫的男人。我建立了检测衬衫对象的hacascascade分类器。一旦检测到蓝色衬衫物体,我怎样才能获得十六进制颜色蓝色衬衫的价值?如何将单一颜色分配给像素区域?

input: image - >output: #0000FF(输出可以是多种颜色,如果有可能)

我想使用的OpenCV使用Python或C++这样的结果。任何有用的链接或文件? (我GOOGLE了一个多小时,但无法找到我想要的)

谢谢。

+0

十六进制颜色的代码只是3个十六进制编码的字节值连接,所以阅读红色通道,通道和蓝色通道,将字节值转换为十六进制字符串,并将它们全部组合到一个字符串中。您在哪些步骤中有问题需要自己解决?这里有一些例子:http://www.rapidtables.com/convert/color/hex-to-rgb.htm – Micka

+0

是的,但它如何决定呢?我们是否取某个地区的平均值?我们如何做到这一点? –

+1

所以你的问题是“如何评估像素区域的颜色?”或“如何将单一颜色分配给像素区域?”。我会尝试掩码/ roi区域中所有像素的中位数。 – Micka

回答

1

Converting hex color to RGB and vice-versa

如果您已经衬衫分割,你可以采取之前进制转换均值/中位数RGB。如果您正在使用此功能进行识别,我还将设置您的颜色椭球体的主轴以获得特定性。即在每个rgb频道上建立范围和分配。 你可以做中心点和球体(简单的颜色距离),如果你懒/它是一个足够简单的问题