一種基於FPGA的視頻邊緣檢測系統設計

2021-01-12 電子產品世界

摘要:對於視頻圖像檢測與識別的需要,提出了一種基於FPGA的視頻邊緣檢測系統設計方案,並完成系統的硬體設計。通過FPGA控制攝像頭進行視頻採集,雙埠SDRAM對圖像數據進行緩存,FPGA再對數據進行實時處理。實際採用DE2-115開發板和CMOS攝像頭OV7670為硬體平臺進行驗證。結果表明,該系統具有實時性高,檢測準確的特點,達到了設計要求。

本文引用地址:http://www.eepw.com.cn/article/246281.htm

隨著科技的發展,視頻採集系統越來越廣泛的應用於各個領域,如體育直播,視頻會議,飛彈的電視制導等等。而圖像邊緣是圖像的基本特徵之一,其中包含了很重要的邊界信息,這些信息是圖像分析、目標識別的基礎。在交通信息控制應用領域中,邊緣檢測已經是車牌識別、車流量監控、自動導航等技術中的重要環節。通過有效的邊緣檢測,可以大大簡化後續圖像處理過程對圖像信息的分析工作。對於視頻圖像的邊緣檢測,若採用軟體方式實現由於受到系統處理速度的限制,容易出現斷幀現象,這對於要求實時處理的情況下將是一個很大的缺陷。硬體實現主要有基於專用晶片,基於DSP和基於FPGA的3種處理方式。基於專用晶片方式並不適合前期產品的開發。基於DSP方式在運算速度、數據吞吐量等方面有限制。本設計基於FPGA實現,邊緣檢測採用流水線結構。實驗結果表明,該系統十分適合視頻數據的處理。

1 系統總體設計

本系統基於一片Altera公司的Cyclone IV系列的EP4CE115F29CN7主控FPGA,系統的整體結構框圖如圖1所示。主要包括:攝像頭I2C配置模塊、視頻數據採集模塊、SDRAM控制模塊、Sobel邊緣檢測模塊和VGA控制模塊。FPGA首先通過I2C總線完成對OV7670的初始化,然後將採集到的數據通過視頻數據採集模塊轉換成RGB565標準的視頻數據,圖像數據通過FIFO_IN模塊在SDRAM中進行緩衝,Sobel邊緣檢測模塊通過FIFO _OUT模塊讀取數據並進行處理,VGA控制模塊控制VGA接口的行同步和場同步信號完成VGA顯示。

 

 

2 視頻採集與邊緣檢測子模塊

2.1 I2C配置模塊

本系統採用OmniVision公司的OV7670這一款CMOS傳感器,為系統提供視頻信號。通過SCCB(Serial Camera Control Bus)總線對OV7670的共201個控制寄存器進行配置,來改變輸出數據的格式、視頻解析度、傳輸方式,調整圖像的白平衡、飽和度、色度、伽瑪曲線等。兩線制的SCCB總線與I2C總線相同,都是雙向兩線制同步串行總線。I2C傳輸時序如圖2所示,I2C_SCLK就等同於SCCB中的SIOC、I2C_SDAT就等同於SC CB中的SIOD,模塊每次傳輸24位數據,前8位為從設備地址(0x42代表寫寄存器,0x43代表度寄存器),中間8位是從設備寄存器地址,最後8位是對寄存器進行配置的數據。

 

 

2.2 視頻數據採集模塊

視頻數據採集模塊,主要是通過FPGA配合CMOS攝像頭OV7670的行、場同步信號採集圖像數據。首先通過配置控制寄存器,控制OV7670輸出視頻數據為RGB565格式。因為OV7670數據位寬為8,視頻數據採集模塊主要是將採集到的前後2個8位數據合併成一個16位數據,以方便數據在SDRAM中的緩存以及後續模塊的處理。如圖3所示為數據採集ModelSim時序仿真圖。

 

 

2.3 SDRAM控制模塊

SDRAM模塊主要有FIFO和片外SDRAM兩部分組成,因為CMOS攝像頭OV7670採集的數據速率和SDRAM讀寫速率是不一樣的,為了匹配這兩個不同傳輸速率的模塊,其中必須添加一個FIFO存儲器。其中FIFO不需要單獨通過語言描述得到,只需要通過MegaWizard工具配置得到。本設計中用到的SDRAM為DE2-115開發板上的兩個64M字節SDRAM,其中每個SDRAM又包含4個BANK。SDRAM行地址線和列地址線是復用13位的地址總線,在讀寫時,先要激活某個BANK,接著鎖存行地址,最後在讀寫指令有效時鎖存列地址。SDRAM的最高讀寫速率可達到166 MHz,本系統中應用為100 MHz,同時每個時鐘上升沿又可讀寫16 bit數據,因此SDRAM完全可以實現數據的無縫緩衝工作。

2.4 Sobel邊緣檢測模塊

圖像邊緣是一幅圖像中灰度變化比較劇烈的區域,計算灰度圖像中各區域的梯度幅值可以用來判定圖像的邊緣信息。設圖像的亮度為f(x,y),則梯度可以定義如下:

 

 

Sobel邊緣檢測便是是基於梯度的檢測,其利用Sobel算子如圖4所示Gx與Gy,在3×3的圖像鄰域內和亮度數據做卷積運算,表達式如下:

 

 

 

 

用硬體左邊緣檢測,由於是實時處理,SDRAM中緩存的數據只是連續視頻圖像中一幀圖像,而且視頻數據還不停的從攝像頭中傳過來,因此就不能像軟體處理那樣先建立一個二維的數據陣列,這樣就必須採用流水線方式進行運算,流水線數目和每次參加運算的像素數目相等,這裡就總共需要9條流水線。為此我們就專門設計了3條Line_Buffer來完成式(4)與式(5)的運算,3條Line_Buffer由MegaWizard中配置的alts hift_tab完成,altshift_tab實際上就是一個移位寄存器,因為視頻解析度為640×480像素,所以每條Line_Buffer實際是向後移位一整行,也就是640個像素值。這樣就等同於3條Line_Buffer中的數據視頻圖像中相毗鄰的三行圖像數據,這3行數據再與Sobel算子做卷積。如圖5所示為卷積運算硬體結構圖,其中P9—P1為像素數據,X9--X1為Sobel梯度算子。乘法與並行加法部分分別有MegaWizard配置的altmult_add和parallel_add完成。

fpga相關文章:fpga是什麼

攝像頭相關文章:攝像頭原理

相關焦點

  • 基於FPGA的視頻實時邊緣檢測系統
    摘要:對於視頻圖像檢測與識別的需要,提出了一種基於FPGA的視頻邊緣檢測系統設計方案,並完成系統的硬體設計。在交通信息控制應用領域中,邊緣檢測已經是車牌識別、車流量監控、自動導航等技術中的重要環節。通過有效的邊緣檢測,可以大大簡化後續圖像處理過程對圖像信息的分析工作。對於視頻圖像的邊緣檢測,若採用軟體方式實現由於受到系統處理速度的限制,容易出現斷幀現象,這對於要求實時處理的情況下將是一個很大的缺陷。硬體實現主要有基於專用晶片,基於DSP和基於FPGA的3種處理方式。
  • 基於LEON3處理器動態圖像邊緣檢測的SoC設計
    文中採用局部熵邊緣檢測算法,將圖像採集,邊緣檢測和圖像顯示三個部分封裝設計為IP核,通過APB總線嵌入到LEON3的經典SoC架構中。與利用微控制器或DSP實現的動態圖像邊緣檢測系統相比.基於LEON3的動態圖像邊緣檢測SoC能夠充分發揮硬體設計的高速性和靈活性,並且系統具有很好的可移植性與可配置性,佔用資源少,速度快,具有良好的應用前景。
  • 3G系統中AGC的FPGA設計實現
    2 系統總體設計    在本設計中,前端TD_SCDMA的射頻信號RF輸入後,經過MAX2392零中頻下變頻解調後進行增益處理。VGA輸出的信號經過ADC變換後就成為數字中頻信號,經RSP(接收信號處理器)處理輸出為IF數位訊號。IF信號可以經過agc控制算法處理後控制VGA的增益。
  • 基於CORDIC 2FSK調製器的FPGA設計
    提出一種基於流水線CORDIC算法的2FSK調製器的FPGA實現方案,可有效地節省FPGA的硬體資源,提高運算速度。最後,給出該方案的硬體測試結果,驗證了設計的正確性。0 引言 頻移鍵控(FSK)是用不同頻率的載波來傳送數位訊號,並用數字基帶信號控制載波信號的頻率。
  • 基於FPGA的m序列信號發生器設計
    基於FPGA與Verilog硬體描述語言設計井實現了一種數據率按步進可調、低數據誤碼率、反饋多項式為本文引用地址:http://www.eepw.com.cn/article/263588.htm  系統時鐘為20MHz,m序列信號發生器輸出的數據率為20~100 kbps,通過2個按鍵實現20 kbps步進可調與系統復位,輸出誤碼率小於1%.  m序列是最長線性反饋移位寄存器序列的簡稱,它是由帶線性反饋的移位寄存器產生的周期最長的一種偽隨機序列。是由移位寄存器、反饋抽頭及模2加法器組成。
  • 基於FPGA的實時中值濾波器硬體實現
    高清視頻監控逐漸成為市場的熱點,視頻監控不僅要求把現場圖像捕獲並保存,而且還要儘可能清晰。中值濾波作為一種非線性濾波方法,既可以消除隨機噪聲和脈衝幹擾,又可以很大程度地保留圖像的邊緣信息,得到了廣泛的運用。在許多實際應用場合,如高清視頻監控、X光圖像的降噪等,需要快速且實時地進行中值濾波,軟體實現達不到實時處理的要求,因此選用硬體實現。
  • 基於FPGA的RS232行列式矩陣鍵盤接口設計
    一、引言本文引用地址:http://www.eepw.com.cn/article/245960.htm本方案是用VHDL語言來實現的基於RS232按位串行通信總線的行列式矩陣鍵盤接口電路
  • 一種基於偏振原理和FPGA的調光系統設計
    1光偏振原理分析自然光是一種電磁波,具有橫波的偏振特性[2]。設在平面振動的光矢量A,在x、y方向的振幅分別為Ax與Ay,振動相位差為δ,設經過第一片偏振片後偏振最大透振方向PM與x軸夾角為θ,並設Pm為與PM正交的方向。如圖1(a)所示。
  • 基於FPGA的任意分頻器設計
    1、前言本文引用地址:http://www.eepw.com.cn/article/261789.htm  分頻器是FPGA設計中使用頻率非常高的基本單元之一
  • 基於胎壓差分法的車輛自載重檢測系統設計
    摘要:針對車輛超載檢測系統精度不高、效率低的現狀,本文研究一種基於胎壓差分的測量方法,並在此基礎上利用傳感技術、無線收發技術、嵌入式硬體技術等,集成開發車輛載重檢測系統,實現胎壓變化的監測與記錄。通過準確性試驗得出該系統的相對誤差在±5%以內;由穩定性實驗得出最大相對誤差為3.8%。因此該測量系統具有較高的理論價值和實用價值。
  • Laplacian圖像邊緣檢測器的FPGA實現研究
    邊緣檢測主要就是(圖像的)灰度變化的度量、檢測和定位,它是圖像分析和模式識別的主要特徵提取手段,在計算機視覺、圖像分析等應用中起著重要的作用,是圖像分析與處理中研究的熱點問題。 數位訊號和圖像處理算法的實現有多種途徑,傳統上多採用高級語言編程實現,便於使用的還有基於專用單片機來實現(一般稱為可編程DSP單片機)以及在VLSI上實現某種算法的專用集成電路晶片(ASIC)等。
  • LEON3開源軟核處理器動態圖像邊緣檢測SoC設計
    邊緣檢測是圖像處理和計算機視覺中的基本問題,邊緣檢測的目的是標識數字圖像中亮度變化明顯的點。邊緣檢測是圖像處理和計算機視覺中,尤其是特徵提取中的一個研究領域。
  • 基於Xilinx FPGA 實現FFT算法的電力諧波檢測的設計方案詳解
    基於Xilinx FPGA 實現FFT算法的電力諧波檢測的設計方案詳解 工程師青青 發表於 2018-07-16 18:22:00 基於FFT算法的電力系統諧波檢測裝置,大多採用DSP晶片設計。
  • 硬體加速邊緣檢測優化處理方案
    文獻[5]-[7]採用FPGA方法實現圖像的邊緣檢測,此硬體方法雖然改善了邊緣檢測的延時長和數據帶寬受限的不足,但是由於FPGA硬體設計的複雜性會導致整個電路開發周期變長。 本文採用Xilinx公司的Vivado HLS將邊緣檢測的軟體代碼轉化為RTL硬體電路。這樣不僅解決了軟體方法所帶給系統延時長和數據帶寬窄的缺點,而且避免了FPGA硬體電路設計周期長的不足。
  • 基於DM642的運動目標檢測系統設計與實現
    引言 數字視頻系統在智能交通、圖像識別以及安防監控等領域,都得到了廣泛的應用,運動目標檢測作為數字視頻系統的一個重要環節,是後續目標識別、目標跟蹤等應用的基礎。
  • labview|邊緣檢測和爬山法算法
    自動對焦的實現使採集系統具備一定的智能,在特殊應用中更可以代替手動對焦的環節,譬如無人視頻監控系統中焦距的調節、顯微鏡下焦距的調節等。但是,在自動對焦系統研究發展中,人們為了得到清晰的顯微圖像、或者其他目標圖像,只得依靠專門的人員進行不斷的、反覆的手工操作,直到調到被測對象的對焦位置。
  • 基於機器視覺技術的香菸濾棒內置物檢測系統設計
    濾棒內置物檢測系統設計,用於檢測香菸濾棒內置物可能出現的缺失、偏移等缺陷。搭建了一套基於背光照明的機器視覺檢測系統,利用灰度化、興趣區域定位、投影變換等處理得到內置物的投影曲線,根據曲線波形確定內置物的位置和有無。本檢測系統對捲菸材料的生產和質量控制有一定的指導意義。
  • 用matlab來實現fpga功能的設計
    首先,DSP開發人員不熟悉硬體設計,尤其是FPGA。他們使用Matlab驗證算法,運用C語言或彙編語言編程,通常不會使用硬體描述語言(VHDL或Verilog)實現數字設計。其次,雖然VHDL語言也提供了許多高層次的語言抽象,但是基於並行硬體系統的VHDL程序設計與基於微處理器的串行程序設計有很大的不同。
  • 基於Modelsim FLI接口的FPGA仿真技術
    除此之外,Modelsim還能夠與 C 語言一起實現對 HDL 設計文件的協同仿真。同時,相對於大多數的 HDL 仿真軟體來說,Modelsim 在仿真速度上也有明顯優勢。這些特點使 Modelsim 越來越受到 EDA設計者、尤其是 FPGA 設計者的青睞。
  • 基於FPGA的數字閉環光纖陀螺儀模擬表頭設計
    為了檢測調製解調電路是否符合設計要求,並提高陀螺的實際應用精度,本文設計了一種基於FPGA的光纖陀螺儀模擬表頭及其測試系統,能有效地檢測調製解調電路的性能。  關鍵詞:光纖陀螺;模擬表頭;FPGA;Verilog HDL  光纖陀螺是雷射陀螺的一種,是慣性技術和光電子技術緊密結合的產物。它利用Sagnac幹涉效應,用光纖構成環形光路,並檢測出隨光纖環的轉動而產生的兩路超輻射光束之間的相位差,由此計算出光纖環旋轉的角速度。