圖像邊緣信息主要集中在高頻段,通常說圖像銳化或檢測邊緣,實質(zhì)就是高頻濾波。我們知道微分運算是求信號的變化率,具有加強高頻分量的作用。在空域運算中來說,對圖像的銳化就是計算微分。由于數(shù)字圖像的離散信號,微分運算就變成計算差分或梯度。圖像處理中有多種邊緣檢測(梯度)算子,常用的包括普通一階差分,Robert算子(交叉差分),Sobel算子等等,是基于尋找梯度強度。拉普拉斯算子(二階差分)是基于過零點檢測。通過計算梯度,設(shè)置閥值,得到邊緣圖像。
Canny邊緣檢測算子是一種多級檢測算法。1986年由John F. Canny提出,同時提出了邊緣檢測的三大準(zhǔn)則:
低錯誤率的邊緣檢測:檢測算法應(yīng)該精確地找到圖像中的盡可能多的邊緣,盡可能的減少漏檢和誤檢。
最優(yōu)定位:檢測的邊緣點應(yīng)該精確地定位于邊緣的中心。
圖像中的任意邊緣應(yīng)該只被標(biāo)記一次,同時圖像噪聲不應(yīng)產(chǎn)生偽邊緣。
Canny算法出現(xiàn)以后一直是作為一種標(biāo)準(zhǔn)的邊緣檢測算法,此后也出現(xiàn)了各種基于Canny算法的改進算法。時至今日,Canny算法及其各種變種依舊是一種優(yōu)秀的邊緣檢測算法。而且除非前提條件很適合,你很難找到一種邊緣檢測算子能顯著地比Canny算子做的更好。
關(guān)于各種差分算子,還有Canny算子的簡單介紹,這里就不羅嗦了,網(wǎng)上都可以找得到。直接進入Canny算法的實現(xiàn)。Canny算法分為幾步。
1. 高斯模糊。
這一步很簡單,類似于LoG算子(Laplacian of Gaussian)作高斯模糊一樣,主要作用就是去除噪聲。因為噪聲也集中于高頻信號,很容易被識別為偽邊緣。應(yīng)用高斯模糊去除噪聲,降低偽邊緣的識別。但是由于圖像邊緣信息也是高頻信號,高斯模糊的半徑選擇很重要,過大的半徑很容易讓一些弱邊緣檢測不到。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26