2009-06-13 56 views
1

請誰能告訴我,當我侵蝕具有零中心示例[0 0 1]的結構元素(SE)的圖像時會發生什麼。因爲我瞭解到侵蝕是所有圖像放置的交集(A0相交A1 ..安),因爲中心是零=> A0是Phi,這意味着侵蝕將是沒有任何東西(黑色圖像),這是合理的。但是當我在matlab上嘗試它時,它給了我相同的圖像(矩形),但是它向左移動了一個像素(A1)。這意味着它將A0視爲U => U(整個宇宙)Intesect A1 => A1。 任何人都可以解釋爲什麼發生這種情況?並且matlab結果是真的,或者當把SE的中心置爲零時它會給出錯誤結果,因爲它不合邏輯。 謝謝。圖像處理侵蝕

+0

恐怕你仍然感到困惑(我繼續對你接受的答案發表評論,這在許多情況下都是錯誤的)。在數學形態學中,我們有平坦和非平坦的結構元素(SE),後者可以被稱爲結構函數。如果你有一個SE [0 0 1],那麼這是一個非平坦的SE,例如,一個平坦的SE將純粹是[0 0 0]。在Matlab中構建它的一種方法是`strel('任意',[1 1 1],[0 0 1])`。現在,你可能想要說一些完全不同的東西:你的SE的起源就在它自身之外。在這種情況下你會失去幾個屬性。 – mmgp 2012-12-05 18:49:55

回答

2

Matlab的結果是正確的。想象一下,你有一個圖像與一個單一的白色像素的中心:

I:  0 0 1 0 0 

現在,想象一下圖片下的SE的所有展示位置:

I:  0 0 1 0 0 
SE: 0 0 1 

對於這種像素,「1」的所有像素在SE中被放置在圖像I中的'0'像素下,因此該放置的結果是0.SE的中心在第一像素下,因此輸出圖像中的第一像素是0.

I:  0 0 1 0 0 
SE:  0 0 1 

現在SE的e中心在第二像素下。 SE中的所有'1'像素都放置在源圖像中的'1'像素下,因此該像素在輸出圖像中將爲'1'。所以,最後,輸出圖像看起來就像這樣:

I:  0 0 1 0 0 
O:  0 1 0 0 0 

這是Matlab的做什麼。

+0

非常感謝我有點困惑。 – Hani 2009-06-13 09:24:44