2016-11-14 83 views
1

我正在使用在YCrCb空间中使用预定义skinmodel分割skinpixels的facedetection应用程序。 我松散地基于我的这个报告的算法; http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=767122&tag=1,Douglas Chai和King N. Ngan。降噪OpenCV skindetection示例

我首先分割出所有的皮肤像素(见左图)。 之后,我执行一些计算以减少噪音(请参阅下面的步骤)。它会产生1/8大小的过滤位图。理想情况下,这将在脸部和背景区域均无噪音,但事实并非如此。我已经尝试通过使用我的密度图来减少它,然后检查相邻的3x3区域像素,并根据它们的邻居腐蚀/扩大像素值。然后,我调整这个位图的大小,并将结果作为掩模应用于原始图像(请参阅右图所示的结果,忽略我的审查)。

Left is skin pixel segmentation and right is en result

enter image description here

我的问题是,什么方法?推荐为摆脱噪音的? 另外,有没有什么好方法可以获得更流畅的轮廓?理想情况下,我不想使用“找到最大的轮廓和洪水填充”,最好是更复杂的东西。

似乎有一点位移的调整大小的面具(它在我的右侧脸上有点太多了,左侧显示的太多了)。什么可能导致这种情况?

回答

0

使轮廓更平滑的最简单方法是使用插值方案将数据内插到更高的分辨率。你可以看看openCV,这将导致点之间的平滑过渡。 我希望这会有所帮助。祝你好运。

+0

是的,我已经用不同的插值方法使用resize()和pyrUp()来获得图片中显示的结果(INTER_CUBIC似乎迄今为止产生了最好的结果)。我查看了文档,但至今没有发现任何更好的选择。不管怎么说,多谢拉。 – Hopploppa