我是图像处理的新手。在我的应用程序中,我要检测并去除眼睛周围的皮肤。

在上图中,我要提取没有皮肤的眼睛区域(和眼眉)。

首先,我尝试在从图像中删除皮肤之前执行皮肤检测。我在emgu cv中使用了AdaptiveSkinDetector方法,这是我的代码

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中,希望对您有所帮助。

10-07 19:19
查看更多