降噪OpenCV skindetection示例

时间:2016-11-14 16:44:40

标签: c++ opencv face-detection

我正在使用在YCrCb空间中使用预定义皮肤模型对skinpixels进行分段的facedetection应用程序。 我松散地基于这份报告的算法; http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=767122&tag=1,Douglas Chai和King N. Ngan。

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

Left is skin pixel segmentation and right is en result

enter image description here

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

调整大小的面具似乎有一点位移(在我的右侧面部切割太多,左侧显示有点太多)。可能导致这种情况的原因是什么?

1 个答案:

答案 0 :(得分:0)

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