OpenGL ES入門08-圖像邊緣檢測(cè)

前言

本文是關(guān)于OpenGL ES的系統(tǒng)性學(xué)習(xí)過程,記錄了自己在學(xué)習(xí)OpenGL ES時(shí)的收獲。
這篇文章的目標(biāo)是學(xué)習(xí)OpenGL ES 2.0中的像素點(diǎn)的代數(shù)運(yùn)算。
環(huán)境是Xcode8.1+OpenGL ES 2.0
目前代碼已經(jīng)放到github上面,OpenGL ES入門08-圖像邊緣檢測(cè)

歡迎關(guān)注我的 OpenGL ES入門專題

概述

邊緣檢測(cè)是圖像處理和計(jì)算機(jī)視覺中的基本問題,邊緣檢測(cè)的目的是標(biāo)識(shí)數(shù)字圖像中亮度變化明顯的點(diǎn)。圖像屬性中的顯著變化通常反映了屬性的重要事件和變化。 這些包括:1、深度上的不連續(xù);2、表面方向不連續(xù);3、物質(zhì)屬性變化;4、場(chǎng)景照明變化。 邊緣檢測(cè)是圖像處理和計(jì)算機(jī)視覺中,尤其是特征提取中的一個(gè)研究領(lǐng)域。

Canny 算子

Canny邊緣檢測(cè)算子是John F. Canny于 1986 年開發(fā)出來(lái)的一個(gè)多級(jí)邊緣檢測(cè)算法。Canny算子是一個(gè)具有濾波,增強(qiáng),檢測(cè)的多階段的優(yōu)化算子,在進(jìn)行處理前,Canny算子先利用高斯平滑濾波器來(lái)平滑圖像以除去噪聲,Canny分割算法采用一階偏導(dǎo)的有限差分來(lái)計(jì)算梯度幅值和方向,在處理過程中,Canny算子還將經(jīng)過一個(gè)非極大值抑制的過程,最后Canny算子還采用兩個(gè)閾值來(lái)連接邊緣。

Canny算子求邊緣點(diǎn)具體算法步驟如下

  • 用高斯濾波器平滑圖像。
  • 用一階偏導(dǎo)有限差分計(jì)算梯度幅值和方向
  • 對(duì)梯度幅值進(jìn)行非極大值抑制
  • 用雙閾值算法檢測(cè)和連接邊緣.

Laplacian 算子

Laplace算子是一種各向同性算子,二階微分算子,在只關(guān)心邊緣的位置而不考慮其周圍的象素灰度差值時(shí)比較合適。Laplace算子對(duì)孤立象素的響應(yīng)要比對(duì)邊緣或線的響應(yīng)要更強(qiáng)烈,因此只適用于無(wú)噪聲圖象。存在噪聲情況下,使用Laplacian算子檢測(cè)邊緣之前需要先進(jìn)行低通濾波。所以,通常的分割算法都是把Laplacian算子和平滑算子結(jié)合起來(lái)生成一個(gè)新的模板。
二維函數(shù)f(x,y)的拉普拉斯是一個(gè)二階的微分,定義為:

二階微分

其中:


二階的微分

拉普拉斯算子還可以表示成模板的形式:


拉普拉斯算子

拉普拉斯算子擴(kuò)展模板


擴(kuò)展模板形式

Sobel 算子

Sobel算子是計(jì)算機(jī)視覺領(lǐng)域的一種重要處理方法。主要用于獲得數(shù)字圖像的一階梯度,常見的應(yīng)用和物理意義是邊緣檢測(cè)。在技術(shù)上,它是一個(gè)離散的一階差分算子,用來(lái)計(jì)算圖像亮度函數(shù)的一階梯度之近似值。在圖像的任何一點(diǎn)使用此算子,將會(huì)產(chǎn)生該點(diǎn)對(duì)應(yīng)的梯度矢量或是其法矢量。Sobel算子并沒有將圖像的主題與背景嚴(yán)格地區(qū)分開來(lái),也就是Sobel算子并沒有基于圖像灰度進(jìn)行處理,由于Sobel算子并沒有嚴(yán)格地模擬人的視覺生理特征,所以提取的圖像輪廓有時(shí)并不能令人滿意。

檢測(cè)水平邊沿橫向模板


橫向模板

檢測(cè)垂直平邊沿縱向模板


縱向模板

圖像梯度的大小


梯度公式

梯度方向


梯度方向公式

對(duì)于給定的圖像


1351141152_6697.png

近似公式的計(jì)算的結(jié)果


1351141247_8193.png

參考資料

《OpenCV3編程入門》

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容