2015-12-04 65 views

回答

2

您引用的图像是通过所谓的distance transform实现的。它是一个非常有用和普遍的操作,广泛应用于图像处理,计算机视觉和机器人路径计算等。它对图像的每个像素计算从像素到多边形最近边缘的二维欧几里德距离。输出是像素值指示最小距离的图像。为了可视化结果,我们将距离映射到灰度。特别是,在您的参考图像中,明亮白色的脊线与边界的距离最大,而黑色区域包含的值更小,因为它们非常接近多边形边界。

在实现方面,残酷的力量方法是绘制想要变换的2D图像,并在片段着色器中计算从当前片段位置到多边形各边的距离,并将最小值输出到帧缓冲区。多边形的几何信息可以存储在另一个纹理中。最终,您会得到一个2D纹理,其像素值将编码到多边形边缘的最短距离。 您还可以在OpenCV library中找到这个常用转换实现。