0

我有一个图像数据集,这些图像已由一些代码处理,对于每个图像,它都会生成S x R图像。

其中 S 是比例的数量,R 是纵横比的数量。所以对于 3 个比例和 3 个纵横比。我有 9 张图像(每张都是 X 和 Y 两个参数中的霍夫空间)

现在我想编写一些代码来获得该霍夫空间中的峰值(局部最大值),我使用 matlab 制作了一些代码,并且vision.LocalMaximaFinder仅适用于二维,但我觉得它充满了启发式而不是那么健壮。

那么是否有任何可用的实现(任何语言)可以在 4D 霍夫空间上找到峰值?或有关如何编写此类代码的任何资源?

4

1 回答 1

0

一种方法是确保您的图像存储在 XxYxSxR 数组“im”中。然后

[maxes maxi] = max(im(:))
[x,y,s,r]=ind2sub(size(im),maxi)

这里的问题是许多最大值彼此非常接近。所以我建议对 4D 图像运行一些非最大抑制。一种简单的方法是通过最大点(已排序)对最大值循环进行排序,并杀死当前半径范围内的所有“最大点”。

于 2013-06-29T19:13:16.560 回答