图像处理之边缘检测概述
最近由于項(xiàng)目需要,需要做一些邊緣檢測(cè)相關(guān)的工作。于是把最近幾天的學(xué)習(xí)內(nèi)容做一下整理。
①.基本原理
在圖像處理和計(jì)算機(jī)視覺中,邊緣檢測(cè)被廣泛使用。其目的在于標(biāo)識(shí)出數(shù)字圖像中亮點(diǎn)變化明顯的點(diǎn),進(jìn)而
提取出有用的信息。通常情況下我們可以將數(shù)字圖像表示為二位數(shù)組,而概二位數(shù)組中每個(gè)元素的值則對(duì)應(yīng)
著圖像各個(gè)像素點(diǎn)的灰度值。而邊緣檢測(cè)的根本原理是通過算法將該數(shù)組中各個(gè)數(shù)據(jù)鄰域內(nèi)數(shù)值變化大的數(shù)據(jù)
元素進(jìn)行突出顯示,而鄰域內(nèi)變化不大的相鄰數(shù)據(jù)元素?cái)?shù)據(jù)元素進(jìn)行屏蔽或降低其灰度顯示。
不能看出其邊緣檢測(cè)的很像即為如何找出一種算法來突出這種鄰域內(nèi)的數(shù)值變化率。
②.邊緣檢測(cè)算法有哪些
不難看出,邊緣檢測(cè)算法的核心是突出圖像中變化率,無論目標(biāo)與目標(biāo),還是目標(biāo)與背景之間。這于導(dǎo)數(shù)的
概念離奇的詳盡。而對(duì)于離散的數(shù)字圖像中,我們可以使用與求導(dǎo)類比的差分運(yùn)算來提取圖像邊緣。基于此原
理應(yīng)用于二維數(shù)組中我們可以求出該二維數(shù)組的梯度模矩陣。該梯度模矩陣就能比較清楚的表示出圖像矩陣的
邊緣。當(dāng)然也可以設(shè)定一個(gè)閾值,當(dāng)梯度模矩陣中大于閾值的元素則保留,而低于閾值的元素則設(shè)為黑度。
根據(jù)梯度模矩陣的不同求法,邊緣檢測(cè)算法可以分為兩大類:一階導(dǎo)數(shù)方式(梯度算子)和二階導(dǎo)數(shù)方式
而一階導(dǎo)數(shù)方式中幾種常見的邊緣算子為:Robert,Sobel,PreWitt,kvisch.
而二階導(dǎo)數(shù)方式常見的有:laplace算子
③.邊緣檢測(cè)在圖像處理中的一般步驟
?
?其中第一步為濾波,因?yàn)閳D像中存在噪聲所以需要先進(jìn)行濾波。然而數(shù)字圖像中的噪聲大多和邊緣信號(hào)一
樣占據(jù)高頻段,所以如果濾波過于完全很可能連同邊緣一起濾除,使得濾波后的圖像變得模糊,無法提取有
效的邊緣。而第二步為我們通常所說的利用邊緣算子對(duì)邊緣進(jìn)行增強(qiáng)。這一步的結(jié)果便可直接當(dāng)做邊緣檢測(cè)
的結(jié)果。然而大多數(shù)邊緣檢測(cè)還需要進(jìn)行第三部,設(shè)定閾值,對(duì)超過閾值的像素點(diǎn)進(jìn)行突出,對(duì)低于閾值的像
素點(diǎn)進(jìn)行屏蔽。
? ? ?
④.matlab邊緣處理示例。
程序代碼如下:
程序結(jié)果如下:
本文對(duì)邊緣檢測(cè)做了簡(jiǎn)單的概述,也是對(duì)近兩天學(xué)習(xí)的總結(jié)。通過此文相信大家會(huì)對(duì)邊緣檢測(cè)有了
大概的了解,通過最后一個(gè)示例程序使讀者對(duì)各種邊緣處理的印象更加直觀。文中難免出現(xiàn)紕漏還望
讀者批評(píng)指正,最后共同進(jìn)步。
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/vpoet/p/4659779.html
總結(jié)
以上是生活随笔為你收集整理的图像处理之边缘检测概述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux/Centos服务器安装por
- 下一篇: 解答网友shell问题一例2014070