OpenCV邊緣檢測:Canny算子, Sobel算子, Laplace算子, Scharr濾波器合輯

【OpenCV入門教程之十二】OpenCV邊緣檢測:Canny算子, Sobel算子, Laplace算子, Scharr濾波器合輯

OpenCV 中寫代碼時節約時間的小常識。其實OpenCV中,不用namedWindow,直接imshow就可以顯示出窗口。

一、關于邊緣檢測

在具體介紹之前,先來一起看看邊緣檢測的一般步驟吧。

  1. 濾波:邊緣檢測的算法主要是基于圖像強度的一階和二階導數,但導數通常對噪聲很敏感,因此必須采用濾波器來改善與噪聲有關的邊緣檢測器的性能。常見的濾波方法主要有高斯濾波,即采用離散化的高斯函數產生一組歸一化的高斯核,然后基于高斯核函數對圖像灰度矩陣的每一點進行加權求和。

  2. 增強:增強邊緣的基礎是確定圖像各點鄰域強度的變化值。增強算法可以將圖像灰度點鄰域強度值有顯著變化的點凸顯出來。在具體編程實現時,可通過計算梯度幅值來確定。

  3. 檢測:經過增強的圖像,往往鄰域中有很多點的梯度值比較大,而在特定的應用中,這些點并不是我們要找的邊緣點,所以應該采用某種方法來對這些點進行取舍。實際工程中,常用的方法是通過閾值化方法來檢測。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容