如何找到二进制图像的平均距离变换?

时间:2016-07-09 14:52:20

标签: algorithm image-processing distance

距离变换提供每个像素距离最近边界/轮廓/背景像素的距离。我不想要最近距离,但我希望得到像素在所有方向上距边界/轮廓的距离的某种平均度量。任何有关计算此距离变换的建议都将受到赞赏。如果有任何现有的算法和/或高效的C ++代码可用于计算这种距离变换,那也很棒。

2 个答案:

答案 0 :(得分:0)

如果您有轮廓的二进制图像,则可以计算某些窗口中每个像素周围的边界像素数(使用例如积分图像或cv::blur)。这会给你一些你想要的东西。

您可以将其与标准化距离变换的平均距离进行组合。

答案 1 :(得分:0)

如果你想要像素在所有方向上距离边界/轮廓的平均距离"那么我恐怕你必须提取轮廓和内部的每个像素。模式,你必须计算属于轮廓的像素的平均距离。

"粗糙"的启发式近似,将使用源点计算许多距离图(它们可能是图案末端),并且对于图案内的每个像素,您可以计算距离图中所有距离的总和。但要获得精确测量,您必须计算与属于轮廓的像素一样多的距离图。但如果近似值是“好的”#34;那么这将加快处理速度。