皮肤颜色检测 [英] Skin Color Detection
问题描述
我使用以下算法来检测皮肤颜色,但它在不同的照明条件下不能正常工作。任何人都可以提出任何建议,如何改善或建议更好的方法。
I am using the following algorithm to detect skin color, but its not working real well in different lighting conditions. Can anybody offer any advice how to improve it or suggest a better approach
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/
干杯
推荐答案
您的给定算法是简单的基于颜色的阈值。这将只适用于一个非常基本的条件集。对于几张图片,它可能给出非常好的结果,但作为一般的检测器它将给不良的结果。
Your given algorithm is simple colour based thresholding. This will only work for a very basic set of conditions. For a few pictures it may give really good results but as a general detector it will give poor results.
您的第一道攻击应该是切换到不同的颜色模型这是不变的照明。事实上,你提供的链接明确地说这个!例如,HSI。就个人而言,我更喜欢用L * a * b *做一些事情,但是实现从RGB转换会更困难。
Your first line of attack should be to switch to a different colour model that is invariant to illumination. In fact, the link that you give explicitly says this! For example, HSI. Personally, I would prefer to do something with L*a*b* but implementation of conversion from RGB would be more difficult.
你应该看看添加一些额外的先前条款,例如,孤立像素不能是皮肤。
You should look at adding some additional prior terms, for example, isolated pixels cannot be skin.
这篇关于皮肤颜色检测的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!