国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的圖像分塊實時邊緣檢測系統(tǒng)

2012-09-17 07:54陸小鋒張俊豪陸曉成沈蘇旻
電視技術(shù) 2012年21期
關鍵詞:分塊全局算子

陸小鋒,張俊豪,陸曉成,沈蘇旻

(上海大學通信與信息工程學院,上海 200072)

1 圖像邊緣檢測算法

圖像邊緣是圖像的基本特征,這些信息可以用于圖像分析、目標識別以及圖像濾波[1]。圖像算法的處理可以用軟件或者硬件來實現(xiàn),而對于實時圖像處理來說,需要很高的速度要求,因此通常采用硬件進行圖像處理[2]。目前,圖像處理的硬件設計有兩種技術(shù)方案,一是全定制的專用集成電路(ASIC),二是半定制的數(shù)字信號處理器(DSP)以及現(xiàn)場可編程門陣列(FPGA),二者在設計中的運用都可以大大加快對信息的處理速度[3]。

目前邊緣檢測算法已有一系列基于微分的邊緣檢測算子,如 Roberts算子、Sobel算子、Prewitt算子、Canny算子等[4]。Sobel算子是邊緣檢測中常用的一種模板,其有3種算子,分別用于檢測水平邊緣、垂直邊緣以及對角邊緣。Sobel算子在運算上不涉及復雜的數(shù)據(jù)運算,適用于實時性要求高的環(huán)境。并且與Prewitt算子相比,Sobel算子對于像素的位置影響做了加權(quán),降低了邊緣的模糊程度,效果更好[5]。由于Sobel算子檢測得到的是整幅圖像的梯度值,最后還需要用圖像分割算法對圖像的梯度采取閾值處理。

由于已經(jīng)用Sobel算子檢測得到了圖像的梯度值,在均勻光照環(huán)境下,邊緣部分和非邊緣部分的灰度直方圖間存在一個相當清晰的波谷,因此可以采用適合于整個圖像的全局單閾值處理。但是當圖像中存在非均勻光源部分,會使得閾值偏大,導致圖像中部分梯度值較小的邊緣容易被漏檢。如圖1a為均勻光源環(huán)境,圖像中各部分的光照程度近似。而圖1b為非均勻光源環(huán)境,由于圖像的左上角存在白熾燈,會造成此部分的梯度值偏大,很大程度上會影響圖像的邊緣檢測效果。

圖1 均勻光源與非均勻光源環(huán)境下的灰度圖像對比

文獻[8]中提到了一種簡單根據(jù)圖像的灰度值將其分成高灰度值部分和低灰度值的部分,然后對這兩部分分別進行邊緣檢測。這種方法,在一定程度上能夠補償光源不均勻性。但是由于其簡單針對圖像的灰度進行分組,效果有限。

本文改進了這種根據(jù)圖像灰度值進行分組的思想。對采集到的圖像進行Sobel邊緣檢測處理后,根據(jù)圖像的梯度值進行分組。并在全局單閾值處理算法基礎上,將其分別運用分組后的子圖像中。

2 基于圖像分塊的邊緣檢測系統(tǒng)及其FPGA實現(xiàn)

圖2為基于圖像分塊的邊緣檢測系統(tǒng)的軟件設計框圖。系統(tǒng)改進了全局單閾值處理算法,根據(jù)圖像的梯度值進行分組,提出了一種IEDIP(Improved Edge Detection based on Image Partition)算法。該算法先通過Sobel邊緣檢測算子對采集到的圖像進行梯度計算,并根據(jù)圖像的梯度值將其分為若干個子圖像。然后對各個子圖像分別采用全局單閾值處理,最后將所有子圖像的閾值通過簡單的計算得出一個新的閾值,并以此作為當前整幅圖像閾值。

圖2 基于圖像分塊的邊緣檢測系統(tǒng)的軟件設計框圖

2.1 Sobel邊緣檢測算子及其FPGA實現(xiàn)

系統(tǒng)采用3×3的Sobel算子分別計算3個方向的梯度值,分別為x方向、y方向和對角線方向,通過比較3個方向的梯度值,取其中的最大值作為該點的梯度值,Sobel算子在3個方向的檢測模板如圖3所示[9]。

圖3 檢測3個方向邊緣的Sobel模板

Sobel算子以檢測的像素點為中心,其梯度計算公式分別為

Sobel邊緣檢測算法在FPGA上實現(xiàn)需要用到3×3的方形窗,為了使窗中的3行3列共9個像素能夠在一個時刻同時輸出,便于之后的核心算法模塊進行數(shù)據(jù)處理,在3×3方形窗的硬件設計中,本文采用3個FiFo存儲器。利用Quartus II的MegaWizard Plug-In Manager工具可以很方便地設計出符合設計需求的FiFo存儲器,設計數(shù)據(jù)位寬度8 bit,數(shù)據(jù)長度1 024,這里需要1個“almost_full”信號,在數(shù)據(jù)長度為640(VGA分辨力為640×480)的時候,表示1行像素數(shù)據(jù)存儲完成,“almost_full”信號置“1”,同時FiFo開始輸出信號并將像素數(shù)據(jù)發(fā)送到下一個FiFo中,具體實現(xiàn)方法如圖4所示。

圖4 3×3方形窗的FiFo實現(xiàn)結(jié)構(gòu)

在梯度計算的過程中需要對方形窗所產(chǎn)生的像素數(shù)據(jù)進行緩存,緩存數(shù)目由窗口的大小決定。每次方形窗送出像素數(shù)據(jù)后,首先要將像素數(shù)據(jù)緩存,然后再進行梯度計算,輸出梯度值。通過比較器,計算3個方向的梯度,具體FPGA實現(xiàn)過程如圖5所示。

紡織品服裝類一直是我們國家貿(mào)易出口的主要產(chǎn)品,但是隨著一帶一路戰(zhàn)略的延伸,有更多的新興發(fā)展中國家,他們已經(jīng)替代我們國家最大制造生產(chǎn)國的地位,因此,雖然我們國家的服裝紡織類出口比重高于一些發(fā)達國家,高于一些工業(yè)國家,但卻低于一些后起的發(fā)展中國家。我們國家在世界紡織業(yè)的比重開始出現(xiàn)下降的趨勢。受到一些例如印度、越南新興工業(yè)制造國家的挑戰(zhàn),優(yōu)勢在喪失,因此,我們國家原有的工業(yè)基礎勞動力優(yōu)勢,已經(jīng)轉(zhuǎn)換為其他產(chǎn)品的出口優(yōu)勢,隨著互聯(lián)網(wǎng)經(jīng)濟的快速發(fā)展,勞動密集型的產(chǎn)業(yè)優(yōu)勢,在不斷地被沿路國家取替。

圖5 Sobel邊緣檢測算法的FPGA內(nèi)部電路原理框圖

2.2 全局單閾值處理算法及其FPGA實現(xiàn)

當物體和背景像素的灰度分布十分明顯時,可以用適合于整個圖像的全局閾值。由于已經(jīng)用Sobel算子檢測得到了圖像的梯度,邊緣部分和非邊緣部分的灰度分布十分明顯,即使全局閾值是一種合適的方法,對每一幅圖像有能力自動估計閾值的算法也是需要的[9]。下面的迭代算法可用于這一目的。

1)為全局閾值T選擇一個初始值。

2)用T分割該圖像。這將產(chǎn)生兩組像素:G1由灰度值大于T的所有像素組成;G2由所有小于等于T的像素組成。

3)對G1和G2的像素分別計算平均灰度值(均值)m1和m2。

4)計算一個新的閾值,由公式為

5)重復步驟2)到步驟4),直到連續(xù)迭代中T值間的差小于一個預定的參數(shù)ΔT為止。

通常,ΔT越大,則算法執(zhí)行的迭代次數(shù)越少。用FPGA實現(xiàn)時,采用VGA的場同步信號控制閾值計算,即每產(chǎn)生一次場同步信號,重新計算一次閾值。本設計以ΔT設定為0為例。具體FPGA實現(xiàn)過程如圖6所示,像素經(jīng)過Sobel邊緣檢測算子模塊輸出的梯度值,除了需要根據(jù)當前閾值判斷該像素點為邊緣點或非邊緣點并輸出二值圖像,還要將對該像素進行上述的全局單閾值處理算法以更新下一幀圖像的閾值。

圖6 全局單閾值處理算法的FPGA內(nèi)部電路原理框圖

值得注意的是,由于上述全局單閾值處理算法僅當物體和背景的直方圖模式間存在一個相當清晰的波谷時,這個算法才工作得很好。但是,當存在非均勻光源部分時,由于非均勻光源部分的梯度值極大,上述算法中的G1值將顯著增大,從而導致閾值T的值增大,這會導致一些重要的邊緣像素被濾除,針對這一問題提出了下述的基于圖像分塊的閾值處理算法(EDIP算法)。

2.3 基于圖像分塊的閾值處理算法及其FPGA實現(xiàn)

IEDIP算法是將每一幀圖像分成若干個子圖像,然后針對每個子圖像分別進行上述的全局單閾值處理,最后將所得到的各個子圖像的閾值進行比較計算得出一個新的閾值作為下一幀圖像的閾值。由于計算得到的閾值相比非均勻光源部分子圖像的閾值明顯要小,因此能夠有效地用于補償光照的不均勻性,使一些重要的邊緣得以保留。

由于存在非均勻光源的子圖像經(jīng)過全局單閾值處理算法后,其閾值與其他子圖像的閾值相比較會明顯增大,從而導致圖像顯示的分塊。因此,最后需要對所有子圖像的閾值進行計算,得出當前圖像的閾值,使顯示的圖像不存在分塊的現(xiàn)象。即最后顯示的邊緣檢測圖像需要滿足兩個要求,一是顯示的圖像不存在分塊現(xiàn)象,二是能夠有效地補償光照現(xiàn)象,使一些重要的邊緣不被濾除。

系統(tǒng)的FPGA實現(xiàn)框圖如圖7所示,首先像素需要經(jīng)過Sobel邊緣檢測算子模塊輸出得到梯度值,并且根據(jù)該像素所在的坐標位置(Loc_x,Loc_y)將其劃分到不同的子圖像中。然后需要根據(jù)當前這幀圖像的整體閾值判斷該像素點為邊緣點或非邊緣點并輸出二值圖像,并且根據(jù)該像素所在的子圖像,僅對該子圖像全局閾值處理算法以更新該圖像的閾值。最后對所有子圖像的閾值進行計算,得出當前圖像的閾值。由于在FPGA里面的除法很難確定需要多少個時鐘周期,視頻圖像的處理對于速度的要求相當高。這里作了簡單地加法和移位運算處理,即采用4塊閾值的均值代替存在非均勻光源部分的閾值,公式為

圖7 基于圖像分塊的閾值處理算法的FPGA內(nèi)部電路原理框圖

3 實驗結(jié)果與分析

3.1 基于圖像分塊的邊緣檢測系統(tǒng)的實驗結(jié)果

系統(tǒng)的實驗結(jié)果如圖8所示,從圖8b可以看出,左上腳的白熾燈處的灰度值相當大,這對于采用全局單閾值處理后的圖像相當不利,其閾值將會向燈光的灰度靠近,即閾值變大,造成分割后的圖像邊緣信息嚴重丟失。針對此問題,采用EDIP算法將圖像進行分塊,將白熾燈獨立在一個單獨的子圖像中,使其灰度值不影響其他3塊圖像閾值的計算,其效果如圖8c所示。但是,圖8c中可以看到明顯的分塊痕跡,這是邊緣檢測所不希望的結(jié)果,因此需要采用改進后的IEDIP算法對4個子圖像的閾值進行修正計算,將得出的新閾值作為此圖像的閾值,其結(jié)果如圖8d所示。

3.2 基于圖像分塊的邊緣檢測系統(tǒng)與基于全局單閾值處理的邊緣檢測系統(tǒng)的結(jié)果比較

圖8 基于圖像分塊的邊緣檢測系統(tǒng)的實驗結(jié)果

結(jié)果比較如圖9所示,比較圖9b和圖9c可知,在均勻光源環(huán)境下采用全局單閾值處理和基于圖像分塊的閾值處理算法得出的結(jié)果基本相同,都能夠?qū)D像的主要邊緣檢測處理。由圖9e可以看出在非均勻光源的環(huán)境下采用全局單閾值處理的邊緣檢測系統(tǒng)僅將光源白熾燈的邊緣檢測出來,而且其他邊緣信息全部被濾除,這是由于左上腳的白熾燈光源處的梯度值相當大,這樣對于采用全局單閾值處理后的圖像相當不利,其閾值將會向燈光的灰度靠近,造成圖像的閾值偏大。由圖9f所示,在非均勻光源環(huán)境下采用基于圖像分塊的閾值處理的邊緣檢測系統(tǒng)能夠?qū)D像的主要邊緣檢測出來,和均勻光源環(huán)境下的檢測效果一樣好。相比之下,本算法對于非均勻光源環(huán)境的邊緣檢測效果明顯較好。

圖9 采用基于圖像分塊的閾值處理和全局單閾值處理的邊緣檢測算法比較

4 結(jié)束語

本文以Sobel邊緣檢測算子為基礎,將全局單閾值處理算法進行改進,提出了一種基于圖像分塊的閾值處理算法,先用Sobel算子計算出圖像的梯度值,然后通過將圖像分塊成若干個子圖像,針對各個子圖像分別采用全局單閾值處理,然后將所有子圖像的閾值通過簡單的計算得出一個新的閾值,并以此作為當前圖像閾值。本算法通過FGPA得出實驗結(jié)果,實驗證明了該算法在非均勻光源的環(huán)境下用于實時圖像的邊緣檢測效果理想。

[1]GUO Z,XU W,CHAI Z.Image edge detecton based on FPGA[C]//Proc.9th International Symposium on Distributed Computing and Applications to Business Engineerng and Science(DCABES).[S.l.]:IEEE Press,2010:169-171.

[2]HOUARI K E,CHEERAD B,ZOHIR I.A software-h(huán)ardware mixed design for the FPGA implementaton of the real-time edge detection[C]//Proc.IEEE Inernational Conference on Systems Man Cybernetics(SMC).[S.l.]:IEEE Press,2010:4091-4095.

[3]甘振華,應駿.基于FPGA的嵌入式圖像邊緣檢測系統(tǒng)設計[J].電視技術(shù),2010,34(8):43-45.

[4]QIAN X,CHAKRABARTI C,KARAM L J.A distributed Canny edge detector and its implementation on FPGA[C]//Proc.Digital Signal Processing Workshop and IEEE Signal Processing Education Workshop(DSP/SPE).[S.l.]:IEEE Press,2011:500-505.

[5]YASRI I,HAMID N H,YAP V V.Performance analysis of FPGA based Sobel edge detecton operator[C]//Proc.ICED 2008.[S.l.]:IEEE Press,2008:1-4.

[6]ZHANG J,CHEN Y,HUANG X.Edge detection of images based on improved Sobel operator and genetic algorithms[C]//Proc.IASP 2009.[S.l.]:IEEE Press,2009:31-35.

[7]GAO W,ZHANG X,YANG L,et al.An improved Sobel edge detection[C]//Proc.ICCSIT 2010.[S.l.]:IEEE Press,2010:67-71.

[8]ROUTRAY A,MOHANTY K B.A fast edge detection algorithm for road boundary extraction under non-uniform light condition[C]//Proc.ICIT 2007.[S.l.]:IEEE Press,2007:38-40.

[9]GONZALEZ R C,WOODS R E.數(shù)字圖像處理[M].3 版.北京:電子工業(yè)出版社,2011.

猜你喜歡
分塊全局算子
與由分數(shù)階Laplace算子生成的熱半群相關的微分變換算子的有界性
Cahn-Hilliard-Brinkman系統(tǒng)的全局吸引子
量子Navier-Stokes方程弱解的全局存在性
鋼結(jié)構(gòu)工程分塊滑移安裝施工方法探討
擬微分算子在Hp(ω)上的有界性
Heisenberg群上與Schr?dinger算子相關的Riesz變換在Hardy空間上的有界性
各向異性次Laplace算子和擬p-次Laplace算子的Picone恒等式及其應用
分塊矩陣在線性代數(shù)中的應用
落子山東,意在全局
反三角分塊矩陣Drazin逆新的表示