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

Opencv 如何从二进制掩码生成trimap?,opencv,image-processing,computer-vision,image-segmentation,Opencv,Image Processing,Computer Vision,Image Segmentation,我现在正试图实现这篇论文: 我已经让FCN和CRF部分工作了,我找到了生成alpha面具的代码,一旦我有了trimap 不过,我被困在(c)和(d)之间的部分 在给定二进制掩码的情况下,如何生成trimap?该报说: 我们将形态学算子应用于二值分割 头发和皮肤的面膜,获得表明 前景(头发/皮肤)、背景和未知像素。在里面 以处理分割不准确的情况,并实现最佳捕获 前景和背景的外观变化, 我们首先用一个小内核腐蚀二进制掩码, 然后提取骨架像素作为前景约束的一部分 像素。我们还用一个更大的内核来腐蚀

我现在正试图实现这篇论文:

我已经让FCN和CRF部分工作了,我找到了生成alpha面具的代码,一旦我有了trimap

不过,我被困在(c)和(d)之间的部分

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

我们将形态学算子应用于二值分割 头发和皮肤的面膜,获得表明 前景(头发/皮肤)、背景和未知像素。在里面 以处理分割不准确的情况,并实现最佳捕获 前景和背景的外观变化, 我们首先用一个小内核腐蚀二进制掩码, 然后提取骨架像素作为前景约束的一部分 像素。我们还用一个更大的内核来腐蚀二进制掩码,以 获取更多前景约束像素。最后的前景 约束像素是两个部分的并集。只要我们保持 第二部分,然后一些薄头发区域将消失后 有一个大的内核。如果像素位于放大的图像之外 然后我们将其作为背景约束像素。所有其他 标记为未知的像素,见图2(d)


OpenCV支持形态学操作。

请参阅解释如何使用和函数。

谢谢-我使用了这些函数和此处更详细的解释()来解决问题。