色猫咪av在线网址_91精品国产福利在线观看雪梨还会玩转热点_丁香花的视频免费观看_国产手机在线A∨免费视频_十八禁av无码免费网站APP_综合色一区二区亚洲_日韩精品小电影_漂亮人妻熟睡中被公侵犯_全新成人高清无码片_高级厕所偷窥白领美女嘘嘘

當(dāng)前位置: 首頁(yè) >應(yīng)用方案 >技術(shù)應(yīng)用 >

邊緣檢測(cè)(Canny算子)實(shí)現(xiàn)原理

當(dāng)前,邊緣檢測(cè)算法在邊緣計(jì)算網(wǎng)關(guān)應(yīng)用中越加廣泛,技術(shù)趨勢(shì)也是快速發(fā)展,熱火朝天。很多朋友或多或少了解,需要實(shí)現(xiàn)各類功能,尤其是一些復(fù)雜的需求,實(shí)現(xiàn)更好的濾波、滿足更佳的提取效果,一時(shí)半會(huì)兒無從下手。

下面小編就帶大家了解關(guān)于邊緣檢測(cè)算子的實(shí)現(xiàn)原理。由于邊緣檢測(cè)算子常用方法較多(Sobel算子,Kirsch算子,Laplacian算子,Canny算子等),在此以Canny算子為例,帶大家了解簡(jiǎn)單的實(shí)現(xiàn)邊緣計(jì)算原理。

邊緣計(jì)算檢測(cè)有什么作用?

簡(jiǎn)單通俗講,邊緣計(jì)算檢測(cè)計(jì)算主要應(yīng)用于一些數(shù)據(jù)信息的處理,提取想要的目標(biāo),剔除一些不相關(guān)的干擾及無用信息,通過更少的數(shù)據(jù)信息量獲取更多關(guān)注的信息。

Canny算子簡(jiǎn)介

Canny 邊緣檢測(cè)算法 是 John F. Canny 于 1986年開發(fā)出來的一個(gè)多級(jí)邊緣檢測(cè)算法,此算法被很多人認(rèn)為是邊緣檢測(cè)的最優(yōu)算法,相對(duì)其他邊緣檢測(cè)算法來說其識(shí)別圖像邊緣的準(zhǔn)確度要高很多。

最優(yōu)邊緣檢測(cè)的特征:

Canny算子邊緣檢測(cè)流程

Canny算子邊緣檢測(cè)流程

01 轉(zhuǎn)換灰度

鑒于Canny算子只能對(duì)單通道灰度圖像進(jìn)行處理,因此在進(jìn)行邊緣檢測(cè)之前需要將原圖像進(jìn)行灰度轉(zhuǎn)換,以O(shè)penCV為例,使用其封裝的函數(shù)實(shí)現(xiàn)彩色到灰度的轉(zhuǎn)換。

轉(zhuǎn)換灰度

02 濾波降噪處理

完美的圖像信息是無噪聲的,圖像質(zhì)量很好,但是現(xiàn)實(shí)中由于采集設(shè)備、環(huán)境干擾等多方面的原因?qū)е虏杉降膱D像信息都是含有大量噪聲信息的,這些噪聲最常見的就是椒鹽噪聲和高斯噪聲。

Canny算子是一種綜合在抗噪聲干擾和精確定位之間尋求最佳折中方案的邊緣檢測(cè)方法,一般使用高斯濾波來去除噪聲,下面是常見的3X3的卷積核模板:

濾波降噪處理

高斯濾波可以將圖像中的噪聲部分過濾出來,避免后面進(jìn)行邊緣檢測(cè)時(shí)將錯(cuò)誤的噪聲信息也誤識(shí)別為邊緣了。

濾波核的維數(shù)不應(yīng)選的過大,否則可能會(huì)將邊緣信息給平滑掉,使得邊緣檢測(cè)算子無法正確識(shí)別邊緣信息。

03 差分計(jì)算幅值和方向

使用一階有限差分計(jì)算梯度可以得到圖像在x和y方向上偏導(dǎo)數(shù)的兩個(gè)矩陣,Canny算子中使用的是 Sobel 算子作為梯度算子,當(dāng)然還可以自己構(gòu)造其它的如:Roberts算子、Prewitt算子等一階邊緣檢測(cè)算子來作為梯度算子。

下面以Sobel算子為例來計(jì)算梯度的幅值和方向:

【Y方向】

1

【X方向】

2

預(yù)設(shè)H(i , j)為計(jì)算的圖像

3

其中點(diǎn)C ( i , j ) 是要計(jì)算的梯度

【Y方向梯度】

4

【X方向梯度】

5

【此處C點(diǎn)的梯度幅值】

6

【此處C點(diǎn)的梯度方向】

7

04 非極大值抑制

對(duì)非極大值的數(shù)據(jù)進(jìn)行抑制,也可以理解成對(duì)非極大值數(shù)據(jù)排除其是邊緣的可能性。8鄰域內(nèi)圖像梯度幅值矩陣中的元素值越大,說明圖像中該點(diǎn)的梯度值越大,再結(jié)合檢測(cè)點(diǎn)的梯度方向,就可以定位出大概的邊緣信息。

非極大值抑制兩個(gè)特點(diǎn):

舉例如下圖所示

非極大值抑制

每個(gè)點(diǎn)的X方向和Y方向梯度方向矩陣

1

每個(gè)點(diǎn)的梯度方向的梯度角矩陣

2

Canny算子將Gy/Gx的值求絕對(duì)值,OpenCV中的梯度角矩陣

3

每個(gè)點(diǎn)的梯度矩陣

4

綜上所示,計(jì)算出來的梯度值、梯度方向可以大致判斷出此 8 鄰域內(nèi)的值的邊緣信息如下圖

5

梯度方向是同時(shí)包含多個(gè)梯度值的,因此需要將梯度方向兩邊的梯度值進(jìn)行線性插值,插值系數(shù)β有如下要求:越靠近梯度方向的梯度值,其所占比例越大。

完成非極大值抑制后,會(huì)得到一個(gè)二值圖像,非邊緣的點(diǎn)灰度值均為0,可能為邊緣的點(diǎn)灰度值為255。這樣的一個(gè)檢測(cè)結(jié)果還是包含了很多由噪聲及其他原因造成的假邊緣,還需要雙閾值篩選處理。

05 滯后閾值

使用雙閾值來對(duì)二值化圖像進(jìn)行篩選,通過選取合適的大閾值與小閾值可以得出最為接近圖像真實(shí)邊緣的邊緣圖像。

具體實(shí)現(xiàn)方法為:根據(jù)高閾值得到一個(gè)邊緣圖像,這樣一個(gè)圖像含有很少的假邊緣,但是由于閾值較高,產(chǎn)生的圖像邊緣可能不閉合,解決該問題就采用了另外一個(gè)低閾值。

在高閾值圖像中把邊緣鏈接成輪廓,當(dāng)?shù)竭_(dá)輪廓的端點(diǎn)時(shí),該算法會(huì)在斷點(diǎn)的8鄰域點(diǎn)中尋找滿足低閾值的點(diǎn),再根據(jù)此點(diǎn)收集新的邊緣,直到整個(gè)圖像邊緣閉合。

今天的分享就到這里啦,億佰特人每一天都致力于更好的助力物聯(lián)化、智能化、自動(dòng)化的發(fā)展,提升資源利用率,更多產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的官網(wǎng)進(jìn)行了解,還有客服小姐姐在線答疑哦!



4000-330-990

https://www.wjx.cn/jq/84863372.aspx