0

我需要一点帮助。我正在尝试在图像中分割出某种锯齿形图案。我有一个算法。为此,我使用线条结构元素打开图像。我想使用不同角度的线条重复打开图像,并在每个像素处找到它们的最大值。

以下是代码片段:

    while(i<360)
         se=strel('line',17,i);
         i=i+15;
         img=imopen(img,se);
    end;

任何有关实施的帮助将不胜感激。

4

1 回答 1

0

据我了解,您想从一堆“打开”图像中获得每个像素的最大值吗?

% I assume the img is a 2D image (e.g. gray-scale one)
stack = [];

while(i<360)
         se=strel('line',17,i);
         i=i+15;
         stack(:,:, end+1) =imopen(img,se);
end;

打开的图像将堆叠在堆栈矩阵中。然后要在每个像素处找到最大值,您可以在第 3 维中搜索最大值:

max_pixels = max(stack, 3);
于 2014-06-06T05:58:24.233 回答