我在R中的传奇中有一个换行符,我的问题是图形看起来不像预期的那样.我的最小例子如下:
plot(1)
legendLabel<-c("t\nu ","tu","wh","trr\nni")
legend("top",legend=legendLabel,horiz=TRUE,fill=c("red","blue","gray","black"))
Run Code Online (Sandbox Code Playgroud)
我希望图例的上边距和下边距相等,但事实并非如此.
正如您在附图中看到的那样,下边距小于上边.
有没有人知道如何解决它或任何人都可以告诉我问题是什么?
谢谢.
我有以下问题:
给出了一个图像,我正在做一些斑点检测。作为限制,假设我最多有 16 个 blob,并且从每个 blob 我计算质心(x,y 位置)。如果没有发生失真,这些质心会排列在等距的 4x4 网格中,但它们可能会非常扭曲。假设它们或多或少保持网格形式,但它们可能真的很扭曲。
我需要对 blob 进行排序,以便我知道哪个是最近的左、右、上和下。所以最好的办法是将这些 blob 写入矩阵。
如果这还不够,我可能会检测到少于 16 个,然后我还需要将它们排序为一个矩阵。
有谁知道如何在 Matlab 中有效地解决这个问题?
谢谢。
[更新1:]
我上传了一张图片,红色数字是我的斑点检测算法分配给每个斑点的数字。
生成的矩阵应如下所示:
1 2 4 3
6 5 7 8
9 10 11 12
13 16 14 15
Run Code Online (Sandbox Code Playgroud)
例如,我从 blob 11 开始,最近的正确数字是 12,依此类推

[更新2:]
发布的解决方案看起来很不错。实际上,它可能会发生,缺少一个或两个外部点......我知道这会让一切变得更加复杂,我只是想感受一下是否值得花时间。
如果您使用 shack-hartmann 波前传感器分析波前并且想要增加动态范围,则会出现这些问题:-) 斑点可能确实扭曲,使得分界线不再正交。
也许有人知道分类算法的好文献。
最好的解决方案是一个,它可以毫不费力地在 FPGA 上实现,但这在现阶段并不是那么重要。