999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

實時圖像邊緣檢測的設計及FPGA實現

2011-01-19 12:15:18劉紫燕
電子科技 2011年12期
關鍵詞:檢測

劉紫燕

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

實時圖像邊緣檢測的設計及FPGA實現

劉紫燕

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

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

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

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

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

1 Sobel邊緣檢測基本原理

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

圖1 Sobel算子原理框圖

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

圖2 Sobel算子示意圖

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

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

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

2 Sobel邊緣檢測設計與實現

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

圖3 基于FPGA的實時圖像邊緣檢測的系統框圖

(1)灰度圖像。

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

理論上效果最好、用硬件實現效率最高的是

然而,這樣的處理結果還不能為邊緣檢測提供足夠的對比度。經過反復調試,發現在使用的設備上提高綠色強度的最好方法是

(2)梯度計算。

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

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

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

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

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

設計的 3條 Line Buffer與 Gx乘加的部分由Megafunction的altmult_add與 parallel_add完成,每條Line Buffer只有3個點的程序來仿真,結果如圖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做卷積運算仿真結果

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

(3)圖像數據緩沖器。

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

3 Sobel邊緣檢測驗證

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

圖7 Sobel測試示意圖

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

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

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

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

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

圖10 Sobel邊緣檢測綜合報告

4 結束語

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

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

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

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

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

[5]張志剛.FPGA與SOPC設計教程-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—),女,副教授,碩士生導師。研究方向:無線通信,嵌入式通信,下一代網絡等。

猜你喜歡
檢測
QC 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數的乘除法”檢測題
“有理數”檢測題
“角”檢測題
“幾何圖形”檢測題
主站蜘蛛池模板: 欧美日韩第二页| 国产极品美女在线| av一区二区人妻无码| 国产精品福利在线观看无码卡| 在线看AV天堂| 国产浮力第一页永久地址| www.99在线观看| 免费xxxxx在线观看网站| 在线观看国产精品第一区免费| 欧美色视频网站| 国内精品九九久久久精品| 漂亮人妻被中出中文字幕久久 | 18禁不卡免费网站| 国产97视频在线观看| 永久免费av网站可以直接看的| 成人夜夜嗨| 四虎精品国产永久在线观看| 日韩精品一区二区三区视频免费看| 国产成人成人一区二区| 精品一区二区三区视频免费观看| 色综合天天操| 五月婷婷激情四射| 91无码人妻精品一区| 最新国产精品第1页| 91九色国产在线| 久久久噜噜噜| 一本久道热中字伊人| 中文天堂在线视频| 人妻无码中文字幕一区二区三区| 亚洲人人视频| 无码区日韩专区免费系列 | 亚洲成人播放| 亚洲免费毛片| 欧美精品1区| 久久精品亚洲中文字幕乱码| 中国一级特黄大片在线观看| 一级成人a做片免费| aa级毛片毛片免费观看久| 国产精品9| 久久伊人操| 91国内视频在线观看| 色噜噜综合网| 亚洲成综合人影院在院播放| 日本国产一区在线观看| 欧美精品在线免费| 四虎精品国产永久在线观看| 亚洲女人在线| 欧美午夜小视频| 好紧好深好大乳无码中文字幕| 97国产成人无码精品久久久| 亚洲国产精品无码久久一线| 国产成人禁片在线观看| 久久免费精品琪琪| 亚洲青涩在线| 波多野结衣AV无码久久一区| 中文国产成人精品久久一| 91丝袜乱伦| 91视频首页| 久久semm亚洲国产| 亚洲欧美日韩中文字幕一区二区三区| 伊人狠狠丁香婷婷综合色| 欧美久久网| 亚洲中文字幕av无码区| 中文无码精品A∨在线观看不卡 | 日韩精品欧美国产在线| 亚洲国产午夜精华无码福利| 国产浮力第一页永久地址| 手机精品福利在线观看| 在线va视频| 欧美激情网址| 亚洲第七页| 亚洲另类色| 看av免费毛片手机播放| 无码精油按摩潮喷在线播放| 国产一区二区免费播放| 免费一极毛片| 国产区成人精品视频| 免费AV在线播放观看18禁强制| 无码国内精品人妻少妇蜜桃视频| 亚洲欧美精品一中文字幕| 蜜桃臀无码内射一区二区三区| 国产导航在线|