函數 > 圖像處理 > 尋邊器 > 範例:Canny 邊緣檢測器
  
範例:Canny 邊緣檢測器
使用 canny 函數檢測圖像的邊緣。此演算法會非常精準地找到邊緣的位置,並將出現假邊緣的機率降到最低。
如需使用此範例的資訊,請參閱 <關於圖像處理範例>
人工圖像
1. 使用 READ_IMAGE 函數讀入人工圖像。
按一下以複製此運算式
2. 使用 zoom 函數放大圖像,並使用 WRITEBMP 函數將縮放後的圖像寫入檔案。
按一下以複製此運算式
按一下以複製此運算式
3. canny 函數套用至原始圖像,並將結果寫入檔案。
按一下以複製此運算式
按一下以複製此運算式
4. 插入新圖像,並與縮放後的圖像進行比較。
(pattern_zoomed.bmp)
(pattern_canny.bmp)
5. 變更上述函數引數值,並檢視輸出圖像的邊緣效果。
較大的 sigma 值會產生較粗糙的邊緣 (適用於雜訊水平長條),但其他位置會失去細節 (例如,兩個邊緣可能會開始合併成一個)。
較大的臨界值下限會產生邊緣較乾淨的圖像,因為僅會保留大於特定梯度值的邊緣。
較大的臨界值上限會顯現滯後臨界值設定的效果。
上限較大值會導致對應於無像素物件 (在強度大於上限的連接邊緣上沒有任何像素) 的邊緣完全消失。
自然圖像
檢測頭部圖像內的邊界。
1. 讀取腦部圖像,並套用 canny 函數。
按一下以複製此運算式
按一下以複製此運算式
2. 將結果寫入檔案。
按一下以複製此運算式
按一下以複製此運算式
3. 插入並比較兩個圖像。
(brain.bmp)
(brain_canny.bmp)
canny 函數會檢測最凸出的邊緣,包括頭部與腦部邊界。您可調整函數引數的值,扭曲精細度。
4. 讀取指紋圖像,並套用 canny 函數。
按一下以複製此運算式
按一下以複製此運算式
5. 將結果寫入檔案。
按一下以複製此運算式
按一下以複製此運算式
6. 插入並比較兩個圖像。
(fingerp.bmp)
(fingerp_canny.bmp)
canny 函數會檢測指紋圖像的主要輪廓邊界,之後可輸入圖樣辨識系統。
7. 讀取人像,並套用 canny 函數。
按一下以複製此運算式
按一下以複製此運算式
8. 將結果寫入檔案。
按一下以複製此運算式
9. 插入並比較兩個圖像。
(lena.bmp)
(lena_canny.bmp)