《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于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亚洲国产精品_日韩亚洲一区二区
久久久久成人精品免费播放动漫| 欧美国产高清| 亚洲精品中文在线| 久久激情中文| 久久成人免费| 亚洲第一色在线| 亚洲第一区中文99精品| 欧美在线一区二区| 欧美一级在线视频| 欧美一级艳片视频免费观看| 香蕉久久精品日日躁夜夜躁| 亚洲欧美日本日韩| 午夜在线视频一区二区区别 | 中文一区二区在线观看| 99热在这里有精品免费| 99热在线精品观看| 中文在线资源观看网站视频免费不卡 | 亚欧美中日韩视频| 校园激情久久| 羞羞答答国产精品www一本| 亚洲欧美在线免费观看| 欧美一区视频| 亚洲国产精品成人久久综合一区| 欧美在线视频网站| 欧美在线资源| 最近中文字幕mv在线一区二区三区四区 | 亚洲区国产区| 99热这里只有成人精品国产| 一区二区三区不卡视频在线观看 | 一本大道久久精品懂色aⅴ| 99在线精品观看| 亚洲欧美区自拍先锋| 久久不射2019中文字幕| 最新日韩欧美| 中日韩视频在线观看| 午夜精品久久久久影视| 久久久国产成人精品| 欧美成人精品福利| 欧美日韩免费在线| 国产日韩欧美视频在线| 国产在线不卡视频| 亚洲国产精品一区二区尤物区| 日韩一级大片在线| 亚洲欧美在线播放| 亚洲国产精品综合| 一区二区三区精品| 欧美制服丝袜| 欧美激情第三页| 国产精品入口麻豆原神| 国内精品国产成人| 99re这里只有精品6| 欧美亚洲日本国产| avtt综合网| 久久九九热免费视频| 欧美久久视频| 国产欧美一区二区三区另类精品 | 欧美肥婆在线| 欧美性做爰猛烈叫床潮| 国产日韩欧美黄色| 亚洲电影免费| 亚洲无限av看| 亚洲激情综合| 午夜精品成人在线| 欧美成人综合在线| 国产欧美日本在线| 亚洲日韩中文字幕在线播放| 亚洲欧美日韩天堂| 亚洲美女在线观看| 久久aⅴ国产欧美74aaa| 欧美另类亚洲| 国产亚洲精品久| 日韩小视频在线观看专区| 久久成人精品电影| 亚洲愉拍自拍另类高清精品| 麻豆成人在线播放| 国产乱码精品一区二区三| 亚洲人成网站777色婷婷| 欧美一进一出视频| 亚洲视频网在线直播| 免费成人高清在线视频| 国产伦精品一区二区三区免费迷| 亚洲激情一区| 亚洲第一区中文99精品| 亚洲欧美日韩系列| 欧美日韩国产丝袜另类| 经典三级久久| 亚洲欧美国产精品桃花| 欧美日韩国产一区二区| 欧美有码在线视频| 欧美色视频日本高清在线观看| 激情伊人五月天久久综合| 亚洲欧美激情视频在线观看一区二区三区| 亚洲日本成人网| 久久久人成影片一区二区三区观看| 国产精品成人一区| 91久久精品国产91久久性色| 久久精品国产一区二区三| 欧美一区二区三区视频在线| 欧美视频在线播放| 亚洲精品少妇| 亚洲精品久久久久久下一站| 久久九九国产| 国产欧美日韩视频一区二区| 亚洲视频视频在线| 亚洲无人区一区| 欧美日韩精品免费观看视频完整| 亚洲国产精品999| 久久精品二区亚洲w码| 欧美在线播放| 国产精品免费久久久久久| 99av国产精品欲麻豆| 99视频一区二区| 欧美刺激性大交免费视频| 激情久久中文字幕| 久久不见久久见免费视频1| 久久狠狠亚洲综合| 国产欧美视频一区二区| 亚洲欧美日韩精品久久久| 亚洲免费在线看| 欧美视频免费在线观看| 日韩视频在线观看免费| 一区二区三区成人精品| 欧美日韩免费观看一区三区| 亚洲精品免费在线观看| 一区二区黄色| 欧美色123| 亚洲天堂免费观看| 羞羞漫画18久久大片| 国产欧美精品在线播放| 欧美在线观看天堂一区二区三区| 欧美在线一级va免费观看| 国产一区91| 亚洲电影在线播放| 欧美成人午夜剧场免费观看| 亚洲国产欧美日韩精品| avtt综合网| 欧美日韩综合网| 亚洲一区三区视频在线观看| 欧美怡红院视频一区二区三区| 国产欧美一区二区精品性色| 欧美一区二区三区男人的天堂 | 亚洲一区二区三区四区五区午夜| 欧美性猛交xxxx免费看久久久 | 欧美一区不卡| 麻豆国产va免费精品高清在线| 在线观看成人一级片| 日韩视频免费观看高清完整版| 欧美日韩国产电影| 亚洲在线观看免费| 久久久av网站| 亚洲激情另类| 亚洲欧美综合v| 狠狠入ady亚洲精品经典电影| 亚洲精品日本| 国产精品久久久久久影院8一贰佰| 午夜欧美精品| 欧美成人精品h版在线观看| 99视频有精品| 久久久www成人免费无遮挡大片| 亚洲黄一区二区三区| 亚洲欧美一区在线| 激情五月婷婷综合| 亚洲天堂男人| 国内外成人在线视频| aⅴ色国产欧美| 国产日韩欧美二区| 日韩小视频在线观看| 国产精品视频专区| 亚洲国产综合在线看不卡| 欧美三级资源在线| 亚洲国产精品女人久久久| 欧美午夜女人视频在线| 欧美专区在线观看一区| 欧美日韩一区二区三区在线看 | 欧美肉体xxxx裸体137大胆| 亚洲欧美成人| 欧美劲爆第一页| 午夜亚洲激情| 欧美日韩国产综合视频在线观看中文| 午夜精品视频在线| 欧美日韩精品免费观看视一区二区| 午夜精品av| 欧美日韩妖精视频| 亚洲黄色小视频| 国产精品色网| 亚洲精品一区二区三区蜜桃久| 国产精品自在线| 99这里有精品| 国内精品国产成人| 亚洲你懂的在线视频| 91久久国产综合久久| 久久久久久亚洲精品杨幂换脸| 99精品国产福利在线观看免费| 久久这里只精品最新地址| 亚洲一区二区三区四区五区午夜| 欧美刺激午夜性久久久久久久| 羞羞视频在线观看欧美| 国产精品二区在线观看| 亚洲日本黄色| 激情视频一区二区|