<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于FPGA的視頻實(shí)時(shí)邊緣檢測系統

基于FPGA的視頻實(shí)時(shí)邊緣檢測系統

作者: 時(shí)間:2016-10-29 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:對于視頻圖像檢測與識別的需要,提出了一種基于的視頻系統設計方案,并完成系統的硬件設計。通過(guò)控制攝像頭進(jìn)行,雙端口SDRAM對圖像數據進(jìn)行緩存,再對數據進(jìn)行實(shí)時(shí)處理。實(shí)際采用DE2-115開(kāi)發(fā)板和CMOS攝像頭為硬件平臺進(jìn)行驗證。結果表明,該系統具有實(shí)時(shí)性高,檢測準確的特點(diǎn),達到了設計要求。

本文引用地址:http://dyxdggzs.com/article/201610/308525.htm

隨著(zhù)科技的發(fā)展,系統越來(lái)越廣泛的應用于各個(gè)領(lǐng)域,如體育直播,視頻會(huì )議,導彈的電視制導等等。而圖像邊緣是圖像的基本特征之一,其中包含了很重要的邊界信息,這些信息是圖像分析、目標識別的基礎。在交通信息控制應用領(lǐng)域中,已經(jīng)是車(chē)牌識別、車(chē)流量監控、自動(dòng)導航等技術(shù)中的重要環(huán)節。通過(guò)有效的,可以大大簡(jiǎn)化后續圖像處理過(guò)程對圖像信息的分析工作。對于視頻圖像的邊緣檢測,若采用軟件方式實(shí)現由于受到系統處理速度的限制,容易出現斷幀現象,這對于要求實(shí)時(shí)處理的情況下將是一個(gè)很大的缺陷。硬件實(shí)現主要有基于專(zhuān)用芯片,基于DSP和基于FPGA的3種處理方式?;趯?zhuān)用芯片方式并不適合前期產(chǎn)品的開(kāi)發(fā)?;贒SP方式在運算速度、數據吞吐量等方面有限制。本設計基于FPGA實(shí)現,邊緣檢測采用流水線(xiàn)結構。實(shí)驗結果表明,該系統十分適合視頻數據的處理。

1 系統總體設計

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

基于FPGA的視頻實(shí)時(shí)邊緣檢測系統

2 與邊緣檢測子模塊

2.1 I2C配置模塊

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

基于FPGA的視頻實(shí)時(shí)邊緣檢測系統

2.2 視頻數據采集模塊

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

基于FPGA的視頻實(shí)時(shí)邊緣檢測系統

2.3 SDRAM控制模塊

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

2.4 Sobel邊緣檢測模塊

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

基于FPGA的視頻實(shí)時(shí)邊緣檢測系統

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

基于FPGA的視頻實(shí)時(shí)邊緣檢測系統
基于FPGA的視頻實(shí)時(shí)邊緣檢測系統

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

基于FPGA的視頻實(shí)時(shí)邊緣檢測系統

2.5 VGA顯示模塊

VGA顯示器的顯示采用逐行掃描,從屏幕左上方開(kāi)始,從左到右,從上到下掃描。每一行的現實(shí)受到行同步信號(HREF)控制,每一幀的信號受到場(chǎng)同步信號(VSYNC)控制。本系統中CMOS攝像頭采集圖像分辨率為640×480像素,VGA(640×480)的工業(yè)標準為行掃描:Ta(同步脈沖)=96,Tb(行消隱后肩)=40,Tc=8,Td(有效時(shí)序)=640,Te=80,Tf(行消隱前肩)=8,Tg(行周期)=800;場(chǎng)掃描:Ta(同步脈沖)=2,Tb(場(chǎng)消隱后肩)=25,Tc=8,Td(有效時(shí)序)=480,Te=8,Tf(場(chǎng)消隱前肩)=2,Tg(場(chǎng)周期)=525。圖6為由SignalTapII抓取的VGA時(shí)序圖,其中最后一行數據為當前一幀視頻所顯示的行數統計。

基于FPGA的視頻實(shí)時(shí)邊緣檢測系統

3 實(shí)驗結果

由QuartusII軟件綜合仿真后可知,系統最高工作頻率為100MHz,片上資源使用情況如表1所示。通過(guò)DE2-115開(kāi)發(fā)板為驗證平臺,對上述系統進(jìn)行測驗,結果如圖7所示。其中,圖7(a)為對所采集到的視頻直接通過(guò)液晶顯示器顯示的彩色圖像,圖7(b)為對采集的視頻進(jìn)行處理得到的灰度圖像,圖7(c)灰度圖像經(jīng)過(guò)Sobel邊緣檢測算法處理后的圖像。實(shí)際液晶顯示彩色圖像、灰度圖像、邊緣檢測圖像完整順暢,并沒(méi)有斷禎現象發(fā)生。

基于FPGA的視頻實(shí)時(shí)邊緣檢測系統
基于FPGA的視頻實(shí)時(shí)邊緣檢測系統

4 結論

設計了一個(gè)基于FPGA的的視頻實(shí)時(shí)邊緣檢測系統,利用FPGA良好的并行結構,使計算速率得到了很大提升,達到了系統的實(shí)時(shí)性要求。實(shí)現了VGA分辨率視頻在液晶屏上的彩色顯示、灰度顯示、邊緣檢測圖像顯示,在圖像紋理復雜的情況下也能較好的提取圖像邊緣。實(shí)驗結果表明,該系統具有速度快、精度高等優(yōu)點(diǎn),能夠很好的應用在目標識別、目標跟蹤、智能視頻監控等領(lǐng)域。



關(guān)鍵詞: FPGA OV7670 視頻采集 邊緣檢測 VGA

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>