colors - 肤色检测

标签 colors computer-vision feature-detection

我正在使用以下算法来检测肤色,但它在不同的光照条件下效果不佳。任何人都可以提供任何建议如何改进它或提出更好的方法

R > 95 AND G > 40 AND B > 20 AND
max{R, G, B} – min{R, G, B} >15 AND
|R – G| > 15 AND
R > G AND R > B
OR
R > 220 AND G > 210 AND B > 170 AND
|R – G| <= 15 AND
R > B AND G > B

http://softexpert.wordpress.com/2007/10/17/skin-color-detection/

干杯

最佳答案

您给定的算法是简单的基于颜色的阈值。这仅适用于一组非常基本的条件。对于一些图片,它可能会给出非常好的结果,但作为一般检测器,它会给出很差的结果。

您的第一道防线应该是切换到对光照不变的不同颜色模型。事实上,您给出的链接明确说明了这一点!例如恒指。就我个人而言,我更愿意对 L*a*b* 做一些事情,但实现 RGB 转换会更困难。

您应该考虑添加一些额外的先验术语,例如,孤立的像素不能是皮肤。

关于colors - 肤色检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4422340/

相关文章:

Android:使用选择器设置 ImageView 的背景颜色

javascript - 如何在 JavaScript 中为内容添加样式?

computer-vision - 机器人和计算机视觉

OpenCV 目标检测边界框

matlab - 在 MATLAB 中对图进行剖面线或着色

ios - 根据滚动逐渐改变背景颜色

azure - 将数据从 Azure Blob 容器读取到计算机视觉服务中

OpenCV 如何计算给定像素的 SIFT 描述符

Opencv 重复性结果没有意义?

opencv - 针对 ARM 优化的 FAST 计算