扩张过程是通过将结构元素 B 放在图像 A 上并以类似于卷积的方式在图像上滑动来执行的。
我了解灰度图像的数学形态膨胀背后的主要概念,但我仍然有一个问题:
用户可以不选择结构元素的值吗?换句话说,我们可以通过选择结构元素的大小和形状而不指定其元素来对图像执行膨胀处理吗?
为了更精确,我将通过一个例子很好地解释我的问题:假设一个灰度图像I
要160 x 160
处理(在这种情况下是扩大)大小为 8 x 8 的邻域。我没有指定这个邻域的元素,所以它们的元素来自图像本身。例如我写了下面的matlab代码:
Max_image = max_filter(I, [0 0 7 7]);
其中函数max_filter是:
[n m] = size(I); % n=160 and m=160
B = I;
for i = 1:m-7,
B(:,i) = max(I(:,i:i+7),[],2);
end
for i=m-7+1:m
B(:,i) = max(I(:,i:min(end,i+7),[],2);
end
for i = 1:n-7,
I(i,:) = max(B(max(1,i):min(end,i+7),:),[],1);
end
for i = n-7+1:n,
I(i,:) = max(B(i:min(end,i+7),:),[],1);
end
这仍然被认为是形态扩张操作吗?回想一下,我使用了一个大小为 8 x 8 的结构元素。