如何从二进制掩码生成trimap?

时间:2018-05-05 16:50:32

标签: opencv image-processing computer-vision image-segmentation

我正在尝试立即实施这篇论文:

Automatic Skin and Hair Masking Using Convolutional Neural Networks

我已经让FCN和CRF部分正常工作了,一旦我有了trimap,我就找到了生成alpha掩码的代码。

Diagram from Paper

但是,我仍然坚持(c)和(d)之间的部分。

如何在给定二进制掩码的情况下生成trimap?该报说:

  

我们在二元分割上应用形态学运算符   头发和皮肤的面膜,获得指示的trimap   前景(头发/皮肤),背景和未知像素。在   为了处理分割不准确,并最好地捕获   前景和背景的外观差异,   我们首先用小内核侵蚀二进制掩码,   然后提取骨架像素作为前景约束的一部分   像素。我们还用更大的内核来侵蚀二进制掩码   获得更多前景约束像素。最后的前景   约束像素是两部分的结合。如果我们只保留   第二部分然后一些薄发区域将消失   用大颗粒侵蚀。如果像素在扩张之外   然后我们将它作为背景约束像素。所有其他   像素标记为未知,见图2(d)。

1 个答案:

答案 0 :(得分:1)

OpenCV支持形态学操作 请参阅this tutorial,了解如何使用erodedilate功能。