Canny函數利用Canny算法來進行圖像的邊緣檢測。
C++:
void Canny(InputArray image,OutputArray edges, double threshold1, double threshold2, int apertureSize=3,bool L2gradient=false )
第一個參數,InputArray類型的image,輸入圖像,即源圖像,填Mat類的對象即可,且需為單通道8位圖像。
第二個參數,OutputArray類型的edges,輸出的邊緣圖,需要和源圖片有一樣的尺寸和類型。
第三個參數,double類型的threshold1,第一個滯后性閾值。
第四個參數,double類型的threshold2,第二個滯后性閾值。
第五個參數,int類型的apertureSize,表示應用Sobel算子的孔徑大小,其有默認值3。
第六個參數,bool類型的L2gradient,一個計算圖像梯度幅值的標識,有默認值false。
需要注意的是,這個函數閾值1和閾值2兩者的小者用於邊緣連接,而大者用來控制強邊緣的初始段,推薦的高低閾值比在2:1到3:1之間。