我是图像处理的新手。在我的应用程序中,我想检测并去除眼睛周围的皮肤。
在上图中,我想提取没有皮肤的眼部区域(和眉毛)。
首先,我尝试在从图像中移除皮肤之前执行皮肤检测。我用了AdaptiveSkinDetector
emgu cv中的方法,这是我的代码
AdaptiveSkinDetector a = new AdaptiveSkinDetector(1, AdaptiveSkinDetector.MorphingMethod.ERODE);
Image<Gray, Byte> skin = new Image<Gray, Byte>(ImageFramecolourrighteye.Width, ImageFramecolourrighteye.Height);
a.Process(ImageFramecolourrighteye, skin);
CvInvoke.cvShowImage("Skin detection", skin);
但它没有检测皮肤。我的代码中是否有任何错误?
有没有更好的方法来进行皮肤检测? (使用颜色,也许?)
引用/代码示例会很有用。
非常感谢您的帮助
提前致谢
最佳答案
不了解 Emugcv,但如果您的数据与您的示例一致,我认为局部二进制模式可用于检测眼睛的轮廓(没有皮肤)。
你可以找到详细的解释here和 here 中的实现.即使实现是在 matlab 中希望它有所帮助。
关于c# - Emgucv 中的皮肤检测和去除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21292716/