MATLAB 中的非整数半径结构元素

Non-integer radius structuring element in MATLAB

我正在尝试在 MATLAB 中实现结构化元素(半径为 2.5 的圆盘)。

我在 MATLAB 中使用 strel 函数,但根据定义,半径必须是正整数。

是否有任何其他功能可以让我这样做?

构建带有磁盘的映像非常简单。您可以在 MATLAB 中直接将此图像用作 strel

r = 2.5;
d = ceil(r);
x = (-d:d).^2;
se = (x + x.') < r.^2; % same as sqrt(x + x.') < r, but cheaper

img = imread('cameraman.tif');
out = imdilate(img,se);

my PhD thesis 中,我讨论了更精确地创建任意大小的磁盘结构元素的方法。