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 中,我讨论了更精确地创建任意大小的磁盘结构元素的方法。
我正在尝试在 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 中,我讨论了更精确地创建任意大小的磁盘结构元素的方法。