结合距离图

信息处理 图像处理 图片 转换 距离度量
2022-02-12 22:59:30

我有两个距离图,描述了与蓝色段和红色段的距离。我需要计算一个描述从蓝色段到红色段的过渡的权重图。权重图应具有 0-1 范围内的值,其中 0 是一个段,1 是另一段。

有突出显示相应段的距离图:

在此处输入图像描述 在此处输入图像描述

将第一张和第二张图像中的距离设为d_,我尝试了以下公式来计算过渡权重图:d1d2

d=d1d2+d2maxd1max+d2max

其中 ,是在第一张和第二张图像中找到的最大距离。分子的范围所以结果在范围内。这导致了以下地图:d1maxd2max<0,d1max+d2max><0,1>

在此处输入图像描述

但是,每个段和地图之间都有急剧的过渡。

我也试过乘法公式:

d=d1¯(1d2¯)

其中是归一化到范围的距离。这导致了更好的过渡,但仍然遇到同样的问题:d1¯,d2¯<0,1>

在此处输入图像描述

您还有其他想法如何结合距离图获得过渡图吗?

1个回答

一个明显的选择是,其中是一个小值,以防止被零除。d1d1+d2+ϵϵ

使用您的图像,我得到:

top = ColorNegate[Binarize[ImageApply[StandardDeviation, 
           Import["http://i.stack.imgur.com/aFNfB.jpg"]]]];
bottom = ColorNegate[Binarize[ImageApply[StandardDeviation, 
           Import["http://i.stack.imgur.com/Kipvo.jpg"]]]];
tDist = ImageData[DistanceTransform[top]];
bDist = ImageData[DistanceTransform[bottom]];

\[Epsilon] = 10^-10;
Image[tDist/(tDist + bDist + \[Epsilon])] // ImageAdjust

数学图形