【发布时间】:2014-02-27 01:18:14
【问题描述】:
目前我正在使用 HaarCascade 来检测图片中的人脸。哪个有效,我得到了脸部位置的直方图。
现在我想得到“平均值?” (肤色)在那个矩形。并将其用作颜色范围的基础,以搜索照片中的其他皮肤。我该怎么办?
我找到了 inRange 函数,它在一个范围内搜索颜色。但我不太确定如何获得我皮肤的平均颜色。似乎 inRange 函数需要 HSV 值?但是,我不太清楚这种格式是什么。它似乎与 Photoshop 中的 HSB 不一样。 (我出于“测试目的”而尝试过)。
我的问题归结为这一点,我怎样才能获得矩形中的“平均”颜色,并在该范围内找到其他颜色(例如,比该颜色更亮和更暗,但阴影相同)。
谢谢。
【问题讨论】:
-
HSL and HSV。 HSV 和 HSB 是同义词。
-
相当棘手。请记住,面部特征可能存在阴影,这会影响确切的颜色。 HSV/HSL 模型的好处是阴影不会真正影响 H,但它们会影响所有 R、G 和 B。
标签: c++ opencv computer-vision skin