0

我需要一點幫助。我試圖在圖像中分割出一些曲折形狀。我有一個這樣的算法。爲此,我用線結構元素打開圖像。我想用不同角度的線條來反覆打開圖像,並在每個像素處找到最大值。如何查找圖像中某個點的所有方向的開放最大值?

下面的代碼片段:

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

與執行任何幫助,將不勝感激。

+0

您在問題中所說的內容正是描述代碼的功能。你能告訴我們圖像的樣子嗎? – rayryeng

回答

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; 

打開的圖像將堆疊在堆棧矩陣中。然後在每個像素處找到最大值,您可以在第三維搜索最大值:

max_pixels = max(stack, 3); 
+0

其實我的代碼也很好。我只需要在各個方向上找到最上面和最下面的開口。 這不是給我所需的結果,但感謝:) – LunaLove

+0

@LunaLove:考慮放置自己的答案並接受它。這標誌着SO社區不再需要任何幫助 – rayryeng

相關問題