我們已經瞭解到,您可以使用與邊緣正交的方向atan(dy/dx)
獲得梯度方向。 現在我們做了一個家庭作業,我們應該把這個方向分解成四個類(x和y方向和兩個對角線),然後檢查兩個像素鄰居在最佳匹配方向非最大抑制。非最大抑制
雖然我沒有完全獲得解決方案。顯然,我們四種情況:
abs(angle) < pi/8
,所以梯度(粗略地)在x方向上的點,因此,我們檢查img(i, j-1)
和img(i, j+1)
(假設圖像原點是在左上角)angle > pi/8 && angle <= 3*pi/8
,所以梯度指向右上角。現在我想我們需要檢查img(i-1, j+1)
和img(i+1, j-1)
,但是我們檢查img(i-1, j-1)
和img(i+1, j+1)
,這看起來像是正交對角線。
其他兩種情況是等價的。我試圖改變這一點,但邊緣真的看起來很奇怪,所以這似乎是正確的,但我不明白爲什麼。
有人可以向我解釋這個嗎?
非最大抑制是一種消除不在重要邊緣的點的方法。在第一種情況下,如果在給定點處梯度接近零度,則表示邊緣向北或向南,並且如果此點的大小大於此點,則該點將被視爲在邊緣上兩個點的左右兩側的大小(如你的例子)。在第二種情況下,您正在檢查梯度爲45度,因此邊緣位於135度,因此如果沿梯度方向的點(即(-1,-1)和(1, 1)。 – mmgp
是的,它是沿着梯度方向又名。 45°aka。到右上角。我不確定你使用的座標系。(-1,-1)和(1,1)看起來像一個經典的笛卡爾系統,它的oritin在左下角。我們在matlab中這樣做了,所以圖像原點位於左上角,因此看起來像我們檢查邊緣方向aka。 135°aka。到左上角。 – user1709708
這顯然是我用過的同一個座標系,因爲我說梯度在45度和(-1,-1),(1,1)沿着這個梯度。這在笛卡爾平面中原來是一樣的,它與這種情況下的原點位置無關。我以前的回答是,你用它的併發症是什麼?它是否與(-1,-1)被假定高於你的原點相關? – mmgp