摘 要:數(shù)字圖像邊緣檢測(cè)的設(shè)計(jì)大多是基于Matlab軟件設(shè)計(jì)的,這與工程化還有一定的距離。針對(duì)這一不足,給出了數(shù)字圖像邊緣檢測(cè)Sobel算子以及程序設(shè)計(jì)流程,并在CCS v3.1的軟件仿真環(huán)境下進(jìn)行仿真實(shí)驗(yàn)。通過3個(gè)實(shí)例的分析,驗(yàn)證了基于CCS的數(shù)字圖像邊緣檢測(cè)設(shè)計(jì)的可行性。結(jié)果表明,使用Sobel算子實(shí)現(xiàn)了圖像邊緣檢測(cè),這為圖像處理提供了一種硬件實(shí)現(xiàn)的方法。
關(guān)鍵詞:CCS; 邊緣檢測(cè); Sobel算子; 數(shù)字圖像
中圖分類號(hào):TN919.8 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-373X(2010)14-0056-02
Design of Digital Image Edge Detection Based on CCS
YANG Hong
(School of Electronic Engineering, Xi’an University of Post and Telecommunications, Xi’an 710061, China)
Abstract: The design of edge detection of digital image is mostly based on Matlab software design, so this is still a certain distance from the engineering. In response to this lack, the digital image edge detection algorithm based on Sobel operator and program design process is proposed, and the simulation experiment is done in the CCS v3.1 software simulation environment. The feasibility of this design of digital image edge detection based on CCS by analyzing three application examples is proved. The results show that the image edge detection is achieved by Sobel operator, a hardware implementation approach is provided for the image processing.
Keywords: CCS; edge detection; Sobel operator; digital image
基金項(xiàng)目:國家自然科學(xué)基金資助項(xiàng)目(40974078);陜西省自然科學(xué)基金資助項(xiàng)目(2007D15)
0 引 言
邊緣是圖像最基本的特征,圖像的輪廓、細(xì)節(jié)基本都存在于圖像的邊緣部分,它是圖像的最基本特征,在圖像分析中借助它能大大地減少所要處理的信息,又保留了圖像中物體的形狀信息[1-3]。因此,邊界檢測(cè)在圖像處理、模式識(shí)別和機(jī)器視覺等領(lǐng)域中有很重要的作用,它是底層視覺處理中最重要的環(huán)節(jié)之一。邊緣能勾畫出目標(biāo)物體,使觀察者一目了然,邊緣蘊(yùn)含豐富的內(nèi)在信息(方向、階躍性質(zhì)和形狀等)。從本質(zhì)上來說,圖像邊緣是圖像局部特征不連續(xù)性(灰度突變、顏色突變和紋理結(jié)構(gòu)突變等)的反映,它標(biāo)志著一個(gè)區(qū)域的終結(jié)和另一個(gè)區(qū)域的開始。
兩個(gè)具有不同灰度值的相鄰區(qū)域之間總存在邊緣,邊緣是灰度值不連續(xù)的結(jié)果,這種不連續(xù)性通??梢岳们髮?dǎo)數(shù)的方法方便地檢測(cè)到,一般常用一階導(dǎo)數(shù)和二階導(dǎo)數(shù)來檢測(cè)邊緣。邊緣檢測(cè)的基本思想是首先利用邊緣增強(qiáng)算子,突出圖像中的局部邊緣,然后定義像素的“邊緣強(qiáng)度”,通過設(shè)置門限的方法提取邊緣點(diǎn)集[4-5]。經(jīng)典的邊緣檢測(cè)方法是對(duì)原始圖像中像素的某小鄰域來構(gòu)造邊緣檢測(cè)算子。常用的邊緣檢測(cè)算子有Sobel算子、Robert算子、Prewitt算子、LOG算子和Canny算子。邊緣檢測(cè)的設(shè)計(jì)大多基于Matlab軟件設(shè)計(jì)的,這與工程化還有一定的距離。針對(duì)這一不足,提出了基于CCS的數(shù)字圖像邊緣檢測(cè)的設(shè)計(jì),為圖像處理提供了一種硬件設(shè)計(jì)的方法。
1 Sobel算子
Sobel算子是一個(gè)梯度算子,一幅數(shù)字圖像的一階導(dǎo)數(shù)是基于各種二維梯度的近似值[6-7]。圖像f(x,y)在位置(x,y)的梯度由式(1)定義:
f=Gx
Gy=fx
fy(1)
該算法是在圖像空間利用兩個(gè)方向模板與圖像進(jìn)行鄰域卷積來完成的。這兩個(gè)方向模板一個(gè)檢測(cè)垂直邊緣,一個(gè)檢測(cè)水平邊緣。模板內(nèi)的數(shù)字為模板系數(shù),梯度方向與邊緣方向總是正交垂直的。
式(2)為水平梯度方向,用于檢測(cè)垂直邊緣:
M A=-101
-202
-101 (2)
式(3)為垂直梯度方向,用于檢測(cè)水平邊緣:
M B=121
000
-1-2-1(3)
模板元素和窗口像素之間的對(duì)應(yīng)關(guān)系(以3×3窗口為例)定義如式(4)模板:
M i = Mi-1,-1 Mi-1,0 Mi-1,1
Mi0,-1 Mi0,0 Mi0,1
Mi1,-1 Mi1,0 Mi1,1 (4)
式(3)中i=1,2分別代表垂直、水平模板。設(shè)窗口的灰度為:
f =f(j-1,k-1)f(j-1,k)f(j-1,k+1)
f(j,k-1)f(j,k)f(j,k+1)
f(j+1,k-1)f(j+1,k)f(j+1,k+1) (5)
模板卷積過程就是求乘積的過程:
fi(j,k)=∑im=-1∑in=-1F(j+m,k+n)Mim,n(6)
式(6)中fi(j,k)為模板卷積法邊緣檢測(cè)的輸出,i=l/2(l為窗口寬度)。對(duì)于3×3窗口(l=1),將2個(gè)卷積的最大值賦予圖像中對(duì)應(yīng)模板中心位置的像素,作為該像素的新灰度值,即:
fmax=max[fi(j,k)],i=1,2 (7)
邊緣點(diǎn)判斷是根據(jù)圖像邊緣附近的灰度變化較大特點(diǎn),設(shè)置一閾值TH,當(dāng)鄰域內(nèi)的像素新灰度值TH時(shí)的像素點(diǎn)就作為邊緣點(diǎn)。
2 基于CCS的數(shù)字圖像邊緣檢測(cè)的設(shè)計(jì)
CCS v3.1(code composer studio IDE v3.1)是TI公司推出的集成可視化DSP軟件開發(fā)工具。它是一種針對(duì)TMS320系列DSP的集成開發(fā)環(huán)境,在Windows操作系統(tǒng)下,采用圖形接口界面,提供環(huán)境配置、源文件編輯、程序調(diào)試、跟蹤和分析等工具[8-10]。CCS有2種工作模式,即軟件仿真器模式和硬件在線編程模式。本文主要采用軟件仿真器模式,即可以脫離DSP芯片,在PC機(jī)上模擬DSP的指令集和工作機(jī)制,主要用于前期算法實(shí)現(xiàn)和調(diào)試。根據(jù)數(shù)字圖像Sobel算子邊緣檢測(cè)和DSP的特點(diǎn),基于CCS的數(shù)字圖像Sobel算子的程序流程如圖1所示。
圖1 Sobel算子的程序流程
3 實(shí)驗(yàn)結(jié)果
cameraman、lena、coins作為原始圖像分別如圖2(a)、圖3(a)、圖4(a)所示,使用Sobel算子所得的圖像分別如圖2(b)、圖3(b)、圖4(b)所示。分別比較原始圖像與使用Sobel算子所得的圖像,可以得出對(duì)圖像達(dá)到了邊緣檢測(cè)的效果。
圖2 cameraman原始圖像、使用Sobel算子所得的圖像
圖3 lena原始圖像、使用Sobel算子所得的圖像
圖4 coins原始圖像、使用Sobel算子所得的圖像
4 結(jié) 語
數(shù)字圖像邊緣檢測(cè)的設(shè)計(jì)大多基于Matlab軟件設(shè)計(jì)的,這與工程化還有一定的距離。針對(duì)這一不足,提出了基于CCS的數(shù)字圖像邊緣檢測(cè)的設(shè)計(jì),使用Sobel算子實(shí)現(xiàn)了圖像邊緣檢測(cè),為圖像處理提供一種硬件實(shí)現(xiàn)的方法。
參考文獻(xiàn)
[1]韓曉軍.數(shù)字圖像處理技術(shù)與應(yīng)用[M].北京:電子工業(yè)出版社,2009.
[2]岡薩雷斯.數(shù)字圖像處理(Matlab版)[M].北京:電子工業(yè)出版社,2009.
[3]阮秋琦.數(shù)字圖像處理基礎(chǔ)[M].北京:清華大學(xué)出版社,2009.
[4]藍(lán)章禮,李益才.數(shù)字圖像處理與圖像通信[M].北京:清華大學(xué)出版社,2009.
[5]郭文強(qiáng).數(shù)字圖像處理[M].西安:西安電子科技大學(xué)出版社,2009.
[6]馮新宇,方偉林,楊棟.基于中值濾波與Sobel,Canny算子的圖像邊緣檢測(cè)研究[ J] .黑龍江水專學(xué)報(bào),2009,36(1):101-103.
[7]陳戈珩,王飛.基于Matlab的Sobel算子的指紋中心點(diǎn)定位[ J] .現(xiàn)代電子技術(shù),2009,32(8):79-80.
[8]姜陽,周錫青.DSP原理與應(yīng)用實(shí)驗(yàn)[M].西安:西安電子科技大學(xué)出版社,2008.
[9]彭啟琮,管慶.DSP集成開發(fā)環(huán)境:CCS及DSP/BIOS的原理與應(yīng)用[M].北京:電子工業(yè)出版社,2004.
[10]趙洪亮,卜凡亮,黃鶴松,等.TMS320C55x DSP應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2008.