看板 PCSH91_305 關於我們 聯絡資訊
※ 引述《Habowbow (yo soy guapo)》之銘言: : Canny運算有四個步驟 : 1. 高斯平滑化 用個高斯濾波器就行了 : 2. 邊緣偵測 我是用Sobel 這裡應該都是應用局部梯度運算 取最大值作為初步邊緣線吧?? 沒有很熟 不過我看matlab的書 似乎把sobel跟canny,prewitt之類偵測法歸類為同一層級 所以整個下來等於偵測了兩次邊緣線?? : 3. Nonmaximum Suppression 此步驟是為了消除邊緣線的厚度 : 就是你要的雙線變單線 我不確定MATLAB這一步怎麼做 : 不過他應該是自己就會處理 因為這個跟數值沒關係 就是一個作法而已 : 我的作法如下 : A.對每一點C(x, y)選定垂直於梯度方向兩個側邊的鄰近點,記作 : A和B,A的梯度記為M(A),B的梯度記為M(B),C的梯度記為M(C)。 : B.如果M(A)>M(C)或M(B)>M(C),則C(x,y)不為邊緣像元,設定 : M(C(x, y))=0。 這個部分看了一些文獻稱為非最大值壓抑 主要以梯度運算來判定是否為邊緣像元 不過跟上一個步驟不就重複了?? 感覺好像跟雙線單線沒什麼相關 因為canny本身就是把梯度大的地方偵測出來 所以等高線線體兩側一定都會被判定為邊緣像元而標記 : 4. hysteresis thresholding ,一般採用一個門檻值來界定影像中 : 某像元是否為邊緣像元,但是並非每個梯度不為零的像元都是邊緣像 : 元,Canny 建議使用hysteresis thresholding,採用兩個門檻判斷, : 這應該是MATLAB裡可以設定的 不過我不會用 這裡主要是設定兩個門檻值T1,T2 是對於上面步驟偵測出來的邊緣進行二次判斷 matlab的設定我已經知道在哪裡了 總結以上所有觀點 canny是個很好的邊緣偵測 不過對於我真正需要的線體偵測反而並不理想?? 你有什麼關於等高線線體偵測部分的想法嗎?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.26.72