《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于Sobel算法圖像邊緣檢測的FPGA實現
基于Sobel算法圖像邊緣檢測的FPGA實現
2016年電子技術應用第10期
杜正聰1,寧龍飛2
1.攀枝花學院 電氣信息工程學院,四川 攀枝花617000;2.西華大學 機械工程學院,四川 成都610039
摘要: 針對嵌入式軟件無法滿足數字圖像實時處理速度問題,提出用硬件加速器的思想,通過FPGA實現Sobel邊緣檢測算法。通過乒乓操作、并行處理數據和流水線設計,大大提高算法的處理速度。采用模塊的硬件設計,保證了系統的可移植性和系統的擴展性。最后使用Verilog HDL編程實現算法處理,并用Modelsim和MATLAB進行了仿真和驗證。
中圖分類號: TN911.73;TP391.7
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.10.023
中文引用格式: 杜正聰,寧龍飛. 基于Sobel算法圖像邊緣檢測的FPGA實現[J].電子技術應用,2016,42(10):89-91,95.
英文引用格式: Du Zhengcong,Ning Longfei. Image edge detection based on Sobel algorithm in FPGA implementation[J].Application of Electronic Technique,2016,42(10):89-91,95.
Image edge detection based on Sobel algorithm in FPGA implementation
Du Zhengcong1,Ning Longfei2
1.Electrical Information Engineering College,Panzhihua University,Panzhihua 617000,China; 2.School of Mechanical Engineering,Xihua University,Chengdu 610039,China
Abstract: Aiming at the problem that embedded software can′t meet the digital image real-time processing speed,this thesis puts forward the idea of using hardware accelerators, that is, using FPGA hardware to implement Sobel edge detection algorithm. Through Ping-pong operation,parallel processing data and pipeline design, the processing speed of the algorithm is greatly improved. The hardware design of module ensures the portability and scalability of the system. Finally, this thesis applies Verilog HDL programming to realize the algorithm processing and uses Modelsim and MATLAB to make simulation and verification.
Key words : FPGA;Sobel edge detection;hardware accelerators

0 引言

    圖像的邊緣檢測是數字圖像處理領域的一項關鍵技術,是圖像分割、運動檢測、目標跟蹤、人臉識別等技術的基礎[1]。隨著電子信息技術的高速發展,圖像的邊緣檢測在航天、工業、醫學、軍事等領域有著廣泛的應用和發展[2]。在這些應用中,通常選用ARM和DSP等作為處理器,通過嵌入式軟件來處理信息,但隨著待處理信息量越來越大,算法復雜度越來越高,單核處理器處理速度已不能滿足某些系統的需求。

    本文在研究Sobel算法[3]的基礎上,針對嵌入式軟件無法滿足實時數據處理速度的要求,引入硬件加速器的思想,采用RAM+FPGA硬件結構,通過嵌入式軟件提供從機接口,控制加速器進行工作,硬件加速器(FPGA)通過模塊化設計,采用流水線設計和乒乓操作大幅提高實時處理數據速度,實現圖像的邊緣檢測。從機接口一般通過嵌入式軟件讀寫寄存器來完成。

1 邊緣檢測和Sobel算法

    邊緣檢測是分析視頻和圖像的重要方法,主要檢測和確定圖像在哪些區域上亮度發生突變,這些亮度突變的區域通常就是物體的邊緣。

    以灰度圖像為例,分辨率為M×N的圖像由M×N個像素組成。Sobel 檢測法把中心像素點和離它最近的8個像素點每個乘以一個系數后相加,類似卷積的過程來估計每個像素點x、y方向上的導數值。該系數通常用一個卷積表(Convolution Mask)來表示。分別用于計算x和y方向導數值的Sobel卷積表Dx和Dy如下所示[4]

     ck6-gs1-s1.gif

    把每個像素值分別乘以卷積表中對應的數,再把相乘得到的9個數相加就得到了x方向和y方向的偏導數值Dx和Dy。然后,利用這兩個偏導數值計算中心像素點的導數。

    計算公式如下:

     ck6-gs1.gif

    由于開平方和平方函數都是單調的,實際計算幅度的最大值、最小值與近似以后計算的最大值、最小值發生在圖像的同一個地方。并且,與計算平方和開平方相比,計算絕對值所用的硬件資源少得多。若要找到導數幅值的最大值和最小值,對式(1)作如下簡化:

    ck6-gs2.gif

    需要重復地計算圖像中每個像素位的導數幅值。但是,注意到環繞圖像邊緣的像素點并沒有一個完整的相鄰像素組來計算偏導數和導數,所以要對這些像素進行單獨處理。最簡單的方法就是把圖像中邊緣像素點的導數值|D|設置為0。

2 Sobel邊緣檢測法的硬件實現

2.1 Sobel加速器結構

    硬件加速實質上是通過增加運算并行性達到加速的目的,常常采用硬件復制和流水線的方法。

    邊緣檢測加速器系統的原理框圖如圖1所示。視頻或圖像數字信號通過 I/O 控制器輸入,保存在存儲器中;在RAM處理器控制下運行的硬件加速器,讀入存儲器中存儲的幀圖像(數據),并進行邊緣檢測算法實現,最后將得到相應的導數圖像寫入存儲器。在實際應用中,選取硬件加速器對時耗大的算法進行加速,大大降低其他處理器(如 DSP、ARM 等)的負擔。

ck6-t1.gif

    I/O控制器和加速器通過DMA(Direct Memory Access)方式直接發起對內存的訪問而不通過處理器,大大加快訪問內存的速度。為避免多個設備同時訪問內存發生沖突,在系統中引入仲裁器。仲裁器的仲裁策略為:唯一申請者獲得資源。這樣,ARM(CPU)對加速器進行配置,配置待處理數據源地址和目標地址,然后啟動加速器,釋放總線資源;ACC在接收到啟動命令之后,要申請資源,完成算法實現后,用中斷的方式反饋給RAM(CPU),同時釋放資源。

2.2 基于FPGA的硬件加速器

    圖像邊緣檢測數據具有數據量大,可并行處理及重復操作等特點,用FPGA可實現硬件并行處理信息;通過流水線設計技術和乒乓操作的架構設計,可以進一步提高實現算法組合邏輯處理速度和系統處理信息的吞吐量,因此FPGA對處理圖像邊緣檢測數據有著天然的優勢。本文采用面向流處理的加速器處理按照順序到達的數據流。

    系統基于Altera公司的Cyclone IV系列FPGA,采用從頂向下模塊化設計方法,利用攀巖法建模,具有良好的移植性和系統擴展性。圖2為邊緣檢測實時處理圖。

ck6-t2.gif

    圖3為硬件加速器模塊設計圖。設計中將系統數據流和控制流分開進行,這樣在設計數據流時就不必在意數據何時輸入何時輸出的問題,而把這些問題轉移到控制流設計階段中去。在控制流設計階段系統地考慮數據流的控制,將使得電路設計更加系統,修改更加方便。控制流的設計一般借助于狀態機(FSM)。

ck6-t3.gif

    以實現分辨率600×400的8 bit灰度圖片為例,系統設計數據總線位寬32 bit,通過總線分時復用,分別從memory取數據,放置32 bit*_row_reg寄存器,為減少產生無效數據,增加硬件設計的復雜性,等待數據分別裝滿*_row_reg寄存器,才開始移位計算Sobel算子結果,這就造成移位時不能寫入數據,寫入數據時不能移位,產生大量的等待時間。本文通過插入*_row移位寄存器,把寫數據和移位分開處理,實現系統的全線流水。

    對于Sobel算法單元,為了節約資源和提高處理速度,有些設計采用分布式算法,利用查找表代替乘法器進行乘法運算[5],這樣無法做到對任意隨機數據的處理。本文為避免使用乘法器,通過移位實現乘法運算。數據流水進入產生的無效數據設置為左邊界,數據流水排除的無效數據設置為右邊界,頂行和末行為無效行設置上下邊界。圖4為Sobel算法架構圖。

ck6-t4.gif

3 系統仿真和結果分析

    本文采用600×400的灰度圖像作為研究對象,仿真和驗證結果如圖5所示。

ck6-t5.gif

    通過MATLAB將灰度圖片imag1.bmp(任意格式)處理轉換成imag.txt文件,存儲在Memory中,用Verilog實現Sobel算法,Modelsim仿真數據生成data.txt文件,再利用MATLAB將data.txt文件通過門限處理轉換成圖片tes.bmp。用MATLAB直接調用Sobel函數處理初始灰度模式圖片,生成圖片imag2.bmp,比較兩圖片,驗證FPGA處理的正確性。

    從仿真結果和實驗所得圖像來看,該設計很好地完成了Sobel算法的邊緣檢測任務,使用RAM+FPGA加速器結構,以50 MHz(實驗仿真使用值)時鐘驅動為例,處理一幅600×400圖像,所需時間為19.2 ms,每秒可處理圖像208幅,滿足實時系統要求,解決單核處理器運算時間長的問題。解放控制單元去實現更復雜的控制和功能。

4 結論

    本文基于FPGA引用硬件加速器思想,解決嵌入式軟件無法滿足信息的實時性處理問題,用Verilog編程硬件實現圖像數字信號讀寫、Sobel算法實現,完成圖像邊緣檢測;通過FPGA乒乓操作、并行處理和流水線設計完成數據量大、重復率高的圖像邊緣檢測數據處理,大大提高了系統效率,達到了實時性要求。同時引用模塊化的設計方法,自頂向下利用攀巖法建模,使得設計具有良好的可移植性和系統可擴展性,具有極大的實用價值。

參考文獻

[1] 何俊峰.基于視覺原理的圖像邊緣檢測算子研究[D].武漢:華中科技大學,2006.

[2] Yu Yuanhui,Chang Chinchen.A new edge detection approach based on image context analysis[J].SCI,Image and Vision Computing,2006,24:1090-1102.

[3] 林偉,周劍揚.圖像邊緣檢測高速數字濾波器設計與實現研究[J].現代電子技術,2006(6):26-29.

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

[5] 葉敏,周文暉,顧偉康.基于FPGA的實時圖像濾波及邊緣檢測方法[J].傳感技術學報,2007,20(3):623-627.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品网站在线观看| 亚洲国产一区二区三区青草影视| 麻豆av一区二区三区| 欧美在线免费一级片| 亚洲自拍偷拍麻豆| 亚洲一区二区高清| 正在播放亚洲| 亚洲一区在线看| 亚洲一区区二区| 亚洲欧美在线磁力| 午夜精品一区二区三区在线视| 亚洲一区二区少妇| 午夜影院日韩| 久久激情五月丁香伊人| 久久国产色av| 久久久久久久一区| 美女脱光内衣内裤视频久久网站| 久久亚洲高清| 免费日韩av| 欧美精品aa| 欧美日韩无遮挡| 国产精品免费一区豆花| 国产美女精品| 黑人操亚洲美女惩罚| 精品88久久久久88久久久| 极品少妇一区二区三区精品视频| 在线观看视频一区二区欧美日韩| 亚洲国产精品第一区二区| 亚洲精品久久久久久久久久久| 亚洲美女淫视频| 亚洲摸下面视频| 欧美亚洲日本国产| 亚洲国产成人一区| 亚洲免费成人| 亚洲男女自偷自拍| 久久精品国产欧美激情| 欧美α欧美αv大片| 欧美日韩精品免费观看视一区二区| 欧美日韩在线视频观看| 国产精品日韩精品欧美在线| 国产亚洲一级| 亚洲精品1234| 亚洲欧美高清| 亚洲国产高清aⅴ视频| 日韩一区二区免费高清| 亚洲欧美成人精品| 久久人人爽爽爽人久久久| 欧美激情精品久久久久| 国产精品xnxxcom| 国内精品亚洲| 夜夜嗨av色一区二区不卡| 午夜精品久久久久久久99热浪潮| 亚洲国产91| 亚洲自拍偷拍网址| 久久综合伊人77777麻豆| 欧美视频网址| 国语精品一区| 一区二区三区免费网站| 久久成人精品| 亚洲伊人伊色伊影伊综合网 | 欧美日本三区| 国产婷婷一区二区| 日韩一区二区精品视频| 久久精品国产亚洲一区二区| 亚洲一区久久久| 你懂的网址国产 欧美| 国产精品免费一区豆花| 亚洲高清精品中出| 小黄鸭精品密入口导航| 宅男66日本亚洲欧美视频| 久久久欧美一区二区| 欧美午夜片欧美片在线观看| 在线欧美电影| 欧美在线视频全部完| 亚洲欧美另类综合偷拍| 欧美国产精品久久| 国产亚洲一区精品| 亚洲一区欧美一区| 这里只有精品电影| 欧美成在线视频| 韩国一区电影| 午夜欧美精品久久久久久久| 亚洲一区二区欧美日韩| 欧美成人首页| 在线观看日韩av电影| 欧美诱惑福利视频| 欧美一区二区高清在线观看| 欧美日韩不卡一区| 亚洲福利在线观看| 亚洲成人资源| 久久精品国产第一区二区三区最新章节 | 国产亚洲成av人片在线观看桃| 99re66热这里只有精品3直播| 亚洲国产一区二区a毛片| 欧美专区在线观看| 国产精品免费aⅴ片在线观看| 一本色道久久综合亚洲91| 亚洲另类自拍| 欧美顶级艳妇交换群宴| 狠狠久久亚洲欧美| 欧美一二区视频| 欧美在线观看视频| 国产精品专区h在线观看| 亚洲五月六月| 亚洲综合成人婷婷小说| 欧美肉体xxxx裸体137大胆| 亚洲欧洲在线观看| 99re视频这里只有精品| 欧美二区在线| 亚洲国产91精品在线观看| 亚洲第一在线综合在线| 久久久亚洲欧洲日产国码αv| 国产日本欧美一区二区三区| 午夜精品免费视频| 久久精品在线观看| 国产一区二区三区久久久| 欧美在线高清视频| 久久久99久久精品女同性 | 在线精品视频一区二区三四| 久久国内精品自在自线400部| 久久久久久亚洲精品杨幂换脸 | 一本色道久久88综合亚洲精品ⅰ | 欧美一区二区视频观看视频| 国产精品美女一区二区| 亚洲一级在线| 欧美在线视频观看| 国内精品伊人久久久久av影院| 久久精品五月婷婷| 免费观看一级特黄欧美大片| 亚洲国产精品va在看黑人| 亚洲理伦电影| 欧美视频亚洲视频| 亚洲一区尤物| 欧美在线影院在线视频| 韩国三级在线一区| 亚洲精品综合精品自拍| 欧美日韩精品一区二区在线播放| 日韩一二三区视频| 午夜欧美大片免费观看| 国产网站欧美日韩免费精品在线观看| 欧美一区二区日韩一区二区| 六月丁香综合| 亚洲乱码国产乱码精品精| 亚洲男人天堂2024| 国产欧美日本一区视频| 久久精品一二三| 欧美看片网站| 亚洲性人人天天夜夜摸| 久久三级福利| 亚洲品质自拍| 性久久久久久久久| 一区在线观看| 亚洲一区二区三区免费在线观看 | 欧美在线网址| 亚洲高清在线视频| 亚洲永久免费观看| 国产在线视频欧美| 亚洲免费激情| 国产精品一区在线观看| 亚洲欧洲一区二区三区| 国产精品99一区二区| 欧美一级久久久| 欧美人与禽猛交乱配视频| 亚洲一区二三| 欧美成人精品在线视频| 宅男66日本亚洲欧美视频| 久久九九全国免费精品观看| 亚洲国产老妈| 欧美中文字幕在线| 亚洲国产经典视频| 欧美在线视频全部完| 91久久精品日日躁夜夜躁国产| 销魂美女一区二区三区视频在线| 一区视频在线看| 亚洲男人天堂2024| 亚洲国产老妈| 久久久久国产精品一区| 99精品视频一区| 女生裸体视频一区二区三区| 亚洲视频网站在线观看| 免费久久精品视频| 亚洲综合色丁香婷婷六月图片| 欧美成人官网二区| 香蕉免费一区二区三区在线观看 | 亚洲免费在线播放| 亚洲日韩欧美一区二区在线| 久久久久久久久久久久久女国产乱| 99国产精品| 欧美大片91| 亚洲高清毛片| 国产精品一区免费视频| 亚洲少妇一区| 亚洲电影第1页| 久久久www成人免费毛片麻豆| 9i看片成人免费高清| 农村妇女精品| 久久精品国产99精品国产亚洲性色| 国产精品毛片| 亚洲作爱视频| 最新国产精品拍自在线播放|