确定正确的位置放置标签


12

在下图所示的图像中,我有一个2D数据集,其中标识了四个标记为的聚类[0,1,2,3]。我正在寻找一种算法,可以针对每种形状以自然*的方式放置标签。我的第一个猜测是将它们放置在群集的“质量中心”,如下所示。对于连续的群集,这很好。0但是,对于形状像群集一样的群集,该方法将失败。如果不使用图例,将标签放置在此图像上的更好方法是什么?

* 这里的自然程度在某种程度上是主观的,但是标签的重点是帮助查看者将xy平面中的某个区域与数字相关联。

在此处输入图片说明


1
欢迎使用DSP.SE。这是一个很好的问题!=)
声子

@Hooked如果将聚类建模为均值和2x2协方差矩阵的二维高斯模型,那么我认为自然位置将只是高斯函数的均值。您是否已经确定聚类的均值?
Spacey 2012年

Answers:


11

将标签放在线段的最里面怎么办?让我们通过片段蒙版的距离转换的最大值来定义最里面的内容。

使用Mathematica之类的软件系统和排序,就很容易实现。

一段的蒙版及其距离转换: 在此处输入图片说明

对每个线段重复并定位各个距离变换最大的标签后:

在此处输入图片说明


1
您介意详细说明“最内层”的含义吗?我没有使用Mathematica的权限(使用python),但是我应该能够编写任何提出的解决方案。
钩上2012年

@Hooked查看编辑。如果您有权使用计算距离变换的功能,则一切就绪。
Matthias Odisio

2
这看起来很棒,我认为很难实现自己。清楚一点,您应用的变换是否是“ ...图像的距离变换,其中每个像素的值被其到最近的背景像素的距离所代替”。
钩上2012年

是的,就是这样。只要您不必自己编写距离转换功能(快速实现就很难编码)
轻松

8

我认为放置标签的理想位置应达到两个目标:

  • d
  • l

l×dαl+αdα

dl

其余的是数值优化。


1
d
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.