亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        實時圖像邊緣檢測的設(shè)計及FPGA實現(xiàn)

        2011-01-19 12:15:18劉紫燕
        電子科技 2011年12期
        關(guān)鍵詞:亮度算子灰度

        劉紫燕

        (貴州大學計算機科學與信息學院,貴州貴陽 550025)

        實時圖像邊緣檢測的設(shè)計及FPGA實現(xiàn)

        劉紫燕

        (貴州大學計算機科學與信息學院,貴州貴陽 550025)

        傳統(tǒng)Sobel算法實現(xiàn)邊緣檢測是基于靜態(tài)圖像,而在實時圖像處理中,邊緣檢測存在一定的復雜度和難度,文中將FPGA應用于實時圖像邊緣檢測系統(tǒng),從而實現(xiàn)動態(tài)實時圖像的邊緣檢測。通過搭建實驗平臺仿真驗證表明,檢測精度和數(shù)據(jù)處理的運算效率均有所提高。

        Sobel算法;邊緣檢測;實時圖像;FPGA

        邊緣是圖像最基本的特征。邊緣指圖像局部亮度變化最顯著的部分,即圖像局部特征不連續(xù),表現(xiàn)為圖像灰度級突變、紋理結(jié)構(gòu)突變和彩色變化等。圖像的邊緣信息包含了大部分的圖像特征信息,對圖像分析來說十分重要。邊緣檢測技術(shù)是圖像處理和計算機視覺等領(lǐng)域的一項基本技術(shù),在工業(yè)、航天、醫(yī)學、軍事等領(lǐng)域中有著廣泛應用。如何快速、精確地提取圖像邊緣信息是國內(nèi)外研究的熱點,然而邊緣檢測又是圖像處理中的一個難題。

        在實時圖像處理中,實現(xiàn)邊緣檢測算法的計算步驟復雜,對處理速度要求較高,因此,用純軟件方法很難達到要求。然而,F(xiàn)PGA器件對同時可完成的處理任務(wù)幾乎沒有限制,適合高速、并行信號處理,并且FPGA密度高、容量大,有內(nèi)置存儲器、容易實現(xiàn),故FPGA被廣泛用于實時圖像處理系統(tǒng),對邊緣檢測的工程實現(xiàn)以及實現(xiàn)效率和成本具有重要意義。文中設(shè)計了一種基于FPGA的實時圖像邊緣檢測系統(tǒng),利用FPGA對圖像數(shù)據(jù)進行實時處理,從而獲得較高的處理性能。

        1 Sobel邊緣檢測基本原理

        Sobel算子是圖像邊緣檢測算法中的常用算法,其計算簡便、檢測效果好。采用Sobel算法對圖像進行邊緣檢測時,首先要利用Sobel算子計算出水平梯度和垂直梯度,然后再把兩個方向的梯度結(jié)合起來,最后應用門限處理模塊判斷圖像邊緣并輸出邊緣檢測結(jié)果,其框圖如圖1所示。

        圖1 Sobel算子原理框圖

        一般情況下,在數(shù)字圖像處理中,每幅圖像都被量化成許多像素。常用的Sobel算子有兩個,一個水平方向的,一個垂直方向的,如圖2所示[1]。

        圖2 Sobel算子示意圖

        Sobel邊緣檢測算法用3×3的卷積表來存儲一個像素及其相鄰像素用于計算亮度導數(shù)。把這個卷積表逐個像素地移動,最后完全通過一幅圖像。除邊緣像素不可導之外,對于一幅640×480的圖像,這個卷積表將要移動302 964(638×468)次位置。

        邊緣檢測首先需要將原始圖像轉(zhuǎn)化為灰度圖像,其中的每一個像素都代表了原始圖像的一個亮度水平:用10位二進制數(shù)據(jù)表示,“0”代表黑色,“1023”代表白色。這就將一幅圖像創(chuàng)建成了一張很清楚的灰度圖像。邊緣信息來源于兩個相鄰像素的亮度變化:如果所有相鄰像素有同樣的亮度,則說明此區(qū)域不是邊緣;相反,如果一些相鄰像素的亮度明顯高于另一些,則說明此區(qū)域為邊緣。測量相鄰像素的亮度關(guān)系就是計算亮度導數(shù)[2]

        其中,G為亮度導數(shù),Gx與Gy是Sobel邊緣檢測在X方向與Y方向的Kernel。

        2 Sobel邊緣檢測設(shè)計與實現(xiàn)

        通過攝像頭獲得的未處理圖像被轉(zhuǎn)化為一個RGB(Red Green Blue)格式圖像,然后把這個圖像進行二值化處理轉(zhuǎn)為灰度圖像,以獲得進行邊緣提取時需要的圖像強度?;叶葓D像被鏡像后正確地顯示到液晶屏上,并且存儲在SDRAM FIFO(First In First Out)中。以640個像素為寬度,3行數(shù)據(jù)連續(xù)存儲在M4K塊里,一旦數(shù)據(jù)被準備好,就開始進行邊緣檢測。液晶屏控制器連續(xù)刷新屏幕將邊緣檢測的結(jié)果顯示到液晶屏上。基于FPGA的實時圖像邊緣檢測的系統(tǒng)如圖3所示。

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

        (1)灰度圖像。

        為進行邊緣檢測,必須將從攝像頭采集來的RGB彩色圖像轉(zhuǎn)換為灰度圖像。在灰度圖像中,綠色需要較高的強度[2]。直接將RGB圖像轉(zhuǎn)換為灰度圖像的表達式。

        理論上效果最好、用硬件實現(xiàn)效率最高的是

        然而,這樣的處理結(jié)果還不能為邊緣檢測提供足夠的對比度。經(jīng)過反復調(diào)試,發(fā)現(xiàn)在使用的設(shè)備上提高綠色強度的最好方法是

        (2)梯度計算。

        在用Sobel進行邊緣檢測時,可以用Sobel算子與圖像像素做卷積運算,然后用梯度公式計算圖像像素點梯度。如圖 4 所示,P1、P2、P3、P4、P5、P6、P7、P8、P9為圖像像素點,若對P5點做卷積,雖然是對P5運算,但是必須同時知道 P1、P2、P3、P4、P6、P7、P8、P9的信息,這在C語言中不是問題,因為它們保存在一個數(shù)組內(nèi),只要改變數(shù)組的下標即可得到,但在Verilog HDL中卻做不到。

        圖4 具有9個點的亮度導數(shù)計算示意圖

        對Gx做運算時,根據(jù)Sobel邊緣檢測算法,P5對Gx的亮度導數(shù)為[2]

        可以用Parameter定義來取得X1~X9,但很難獲得 P1~ P9,因為 P1、P2、P3,…,P9是依序傳入的,但Verilog HDL沒有C語言中地址的概念,更沒有二維數(shù)組的概念,為此,設(shè)計了3條Line Buffer做以上運算,如圖5所示。

        圖5 具有3條Line Buffer做卷積運算示意圖

        設(shè)計的 3條 Line Buffer與 Gx乘加的部分由Megafunction的altmult_add與 parallel_add完成,每條Line Buffer只有3個點的程序來仿真,結(jié)果如圖6所示。從圖6中可以看出,在最后一個pixel:9輸入后,下一個 clock得到的值是1、4、7,再下個 clock是2、5、8,最后一個 clock是9、6、3,也就是 Line0依次得到9、8、7,Line1 得到6、5、4,Line3 得到3、2、1,所以 Line0 必須與 X9、X8、X7做乘加,其余同理,所以:

        圖6 具有3條Line Buffer做卷積運算仿真結(jié)果

        Mac_3是 Megafunction的 altmult_add,其余的 X1、X2與 Y0、Y1、Y2同理。

        (3)圖像數(shù)據(jù)緩沖器。

        在圖像的空域濾波中,為得到3×3的方形模板窗,通常使用FIFO(First In First Out)模塊作為圖像數(shù)據(jù)的緩沖器。文中攝像頭采集的圖像被送到SDRAM FIFO中,故需將圖像信息裝載到3個連續(xù)的M4K塊中,這些塊存儲了3行像素以備邊緣檢測計算用,邊緣檢測狀態(tài)機啟動對第一個3×3卷積表進行卷積運算,結(jié)果被送到SDRAM并用液晶屏輸出。接著進行下一個3×3卷積表計算,依次類推,直到最后一個3×3卷積表的計算完成。當計算完成一行后,需要讀取更多由M4K塊組成的行,但是這次僅需要讀取第4個M4K作為第1個M4K,余下第2個M4K的值仍作為第2個M4K,第3個M4K的值仍作為第3個M4K,如此重復,直到計算完整幅圖像,然后繼續(xù)計算下一幀。

        3 Sobel邊緣檢測驗證

        為驗證該方法的有效性,文中搭建了驗證平臺并對Sobel邊緣檢測模塊進行驗證。由Matlab產(chǎn)生原始數(shù)據(jù)和期望結(jié)果數(shù)據(jù),并分別存放在original.txt和result.txt兩個文件中。如圖7所示,將原始數(shù)據(jù)讀進test_up_mpdule_Sobel單元,與控制信號一起產(chǎn)生數(shù)據(jù)流。期望結(jié)果數(shù)據(jù)被test_result_module_Sobel讀入。這個模塊將來自Sobel模塊的數(shù)據(jù)與期望數(shù)據(jù)相比,給出相應的測試結(jié)果。

        圖7 Sobel測試示意圖

        圖8所示為Sobel實時邊緣檢測的仿真時序圖,在每一行的開始,讀數(shù)據(jù)狀態(tài)機從SDRAM中讀取640個像素并寫入3個M4K塊。先用3個時鐘周期來定位M4K中的3×3卷積表,當卷積表更新完成后開始邊緣檢測。需要花4個時鐘周期計算最大的邊緣值。然后,將邊緣檢測結(jié)果存入SRAM中。通常用一個周期決定下一個狀態(tài)。如果像素點少于640個,將從M4K塊中讀取新值組成640個像素。

        圖8 Sobel實時邊緣檢測的仿真時序圖

        Sobel實時邊緣檢測效果如圖9所示。(a)為原始圖像,(b)為采用Sobel算法進行邊緣提取后的圖像,從系統(tǒng)的運行結(jié)果可以看出,該系統(tǒng)可以對實時圖像進行邊緣檢測運算,并且檢測精度較高。

        圖9 實時邊緣檢測效果對比圖

        使用Quartus II綜合器對Sobel模塊進行綜合后,得到的綜合報告如圖10所示。由綜合報告可知,Sobel邊緣檢測模塊占用資源相對合理。因此,完全由硬件電路進行數(shù)據(jù)處理算法,并且能在數(shù)據(jù)處理中實現(xiàn)高并行度是FPGA的優(yōu)勢。

        圖10 Sobel邊緣檢測綜合報告

        4 結(jié)束語

        用Sobel算法實現(xiàn)基于FPGA的實時圖像邊緣檢測。傳統(tǒng)Sobel算法實現(xiàn)邊緣檢測是基于靜態(tài)圖像的,文中方法是用攝像頭采集連續(xù)的視頻流,在FPGA上用Sobel算法實現(xiàn)實時圖像的邊緣檢測,同時顯示在液晶屏上。傳統(tǒng)的圖像處理系統(tǒng)由于對數(shù)據(jù)進行串行操作,處理一次卷積需要幾十至幾百個指令周期,而利用FPGA硬件資源進行數(shù)據(jù)運算則可以在一個周期內(nèi)得到運算結(jié)果,效率大大提高。

        [1]吳海彬,何祖恩,李文錦.基于改進Sobel算子的圖像邊緣檢測及其嵌入式實現(xiàn)[J].2009,37(10):133-136.

        [2]張廣軍.視覺測量[M].北京:科學出版社,2008.

        [3]谷陸生.基于SoPC的實時邊緣檢測系統(tǒng)研究[J].電子技術(shù)應用,2009(8):47 -48,75.

        [4]李明,趙勛杰,毛偉民.Sobel邊緣檢測的FPGA實現(xiàn)[J].現(xiàn)代電子技術(shù),2009,33(16):44 -46.

        [5]張志剛.FPGA與SOPC設(shè)計教程-DE2實踐[M].西安:西安電子科技大學出版社,2007.

        Edge Detection of Real-Time Image Based on FPGA

        LIU Ziyan
        (College of Computer Science and Information,Guizhou University,Guiyang 550025,China)

        The traditional Sobel algorithm for edge detection is based on static image,and it is difficult to carry out in the process of real-time image processing.We design an edge detection system of real-time image based on FPGA,which can implement the edge detection dynamically,and has high detection accuracy and efficiency.

        Sobel algorithm;edge detection;real-time image;FPGA

        TP391.41

        A

        1007-7820(2011)12-001-04

        2011-06-16

        貴州省自然科學基金資助項目([2011]2193號)

        劉紫燕(1977—),女,副教授,碩士生導師。研究方向:無線通信,嵌入式通信,下一代網(wǎng)絡(luò)等。

        猜你喜歡
        亮度算子灰度
        采用改進導重法的拓撲結(jié)構(gòu)灰度單元過濾技術(shù)
        擬微分算子在Hp(ω)上的有界性
        基于灰度拉伸的圖像水位識別方法研究
        各向異性次Laplace算子和擬p-次Laplace算子的Picone恒等式及其應用
        亮度調(diào)色多面手
        一類Markov模算子半群與相應的算子值Dirichlet型刻畫
        亮度一樣嗎?
        基于最大加權(quán)投影求解的彩色圖像灰度化對比度保留算法
        自動化學報(2017年5期)2017-05-14 06:20:56
        Roper-Suffridge延拓算子與Loewner鏈
        基于灰度線性建模的亞像素圖像抖動量計算
        亚洲另类国产精品中文字幕| 国产成人精品一区二区视频| 国产精品亚洲一区二区杨幂 | 亚洲av无码av吞精久久| 91青草久久久久久清纯| 国产一区二区三区中出| 中文字幕无线码一区二区| 国产精品欧美成人| 久久久久一| 国产精品一二三区亚洲| 五月天中文字幕mv在线| 最新四色米奇影视777在线看| 欧美亚洲日韩国产人成在线播放| 成人大片免费在线观看视频| 国产精品9999久久久久仙踪林| 亚洲一区二区三区日本久久九| 蜜臀av一区二区三区人妻在线| 少妇被按摩出高潮了一区二区| 亚洲成在人线在线播放无码| 99久久久久国产| 琪琪av一区二区三区| 中文字幕无码成人片| 亚洲国产成人久久一区| 亚洲国产精品综合久久20| 久久精品国产亚洲av麻豆床戏| 影音先锋男人av鲁色资源网| 国产乱人视频在线看| 成人免费毛片在线播放| 国产麻花豆剧传媒精品mv在线| 99久久精品费精品国产一区二区| 欧美深夜福利视频| 五月婷婷开心六月激情| 影音先锋中文字幕无码资源站| 久久国产精品国产精品日韩区 | 成人国产一区二区三区| 久久丫精品国产亚洲av不卡| 91精品啪在线观看国产色| 精品成人av人一区二区三区| 亚洲妇女自偷自偷图片| 欧美亚洲国产日韩一区二区三区| 日韩精品久久伊人中文字幕|