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

基于Sobel算子的實時視頻處理系統設計與FPGA實現

2022-02-17 11:58:22朱高鋒
電子制作 2022年3期
關鍵詞:系統

朱高鋒

(重慶交通大學 機電與車輛工程學院,重慶,400074)

0 引言

得益于近年計算機視覺與底層硬件電路的飛速發展,實時視頻處理與加速在通信系統、醫療成像乃至安全防護領域[1]都有重要作用。

圖像邊沿檢測算法可以提取到圖像中像素發生明顯變化的像素點,即視覺圖像中的邊緣,是實時視頻處理發展中必不可少的一環。由于視頻分辨率的不斷提高,(常規分辨率數據量),傳統邊沿提取算法在嵌入式軟件中的表現一直不佳,其實時性與功耗一直難以滿足要求[2-4],丟幀現象也時有發生。

FPGA作為可并行處理數據、硬件資源豐富的可重構系統,其特點可完美契合實時視頻處理需求[5],將視頻傳輸數據以數據流的形式傳遞與計算,并能根據圖像處理算法的變化重構硬件系統,是未來圖像處理的主流平臺之一。

本文采用OV5640攝像頭采集視頻數據,Xinlinx公司的Kintex 7系列FPGA芯片XC7K325T作為主控芯片,在Vivado2019.2上通過Verilog編寫實現了視頻圖像接收與格式轉換、圖像預處理、視頻數據緩存控制以及HDMI驅動顯示等功能。經測試,該系統可完成1280×720分辨率、30fps的圖像采集、預處理及顯示,實現了一種基于SOBEL算子的實時視頻采集與顯示系統設計。

1 系統整體邏輯方案設計

本系統采用Xinlinx公司的XC7K325T芯片作為開發平臺,作為Xinlinx廠家7系列FPGA芯片,Kintex系列與Spartan、Artix以及Virtex系列相比具有最佳的性價比。同時,作為28納米制程芯片,XC7K325T基于6輸入查找表,具有200萬邏輯單元容量,支持高達1866Mb/s的DDR3接口,25×18的乘法器、48位累加器以及預加法器的DSP片,提供了多種硬核IP等特性都十分適合視頻實時處理領域應用。外部搭載了DDR3 SDRAM大容量高速緩存芯片、HDMI接口、用于固化程序的FLASH等硬件用于實現系統功能。

系統采用自頂而下的模塊化設計方法,將FPGA內部邏輯劃分為系統初始化、圖像預處理模塊、數據交互三大模塊。其中,系統初始化模塊作用為完成對OV5640攝像頭的初始化,包含I2C通信模塊、寄存器初值存儲模塊、配置延遲模塊;圖像預處理模塊負責完成視頻圖像的預處理操作,包括RGB888轉Ycbcr模塊、中值濾波模塊、Sobel邊緣提取模塊、開操作模塊;數據交互模塊負責FPGA與外部數據交互,包括攝像頭接收模塊、視頻數據緩存模塊、HDMI驅動模塊。

系統整體邏輯方案如圖1所示。首先由攝像頭初始化模塊通過I2C接口對OV5640進行配置,主要參數配置為:分辨率1280×720、幀率30fps、輸出圖像格式RGB565、輸出接口DVP、輸出時鐘PCLK42MHz;通過圖像接收模塊對視頻進行接收的同時將圖像視頻格式轉換為RGB888輸入圖像預處理模塊;在預處理模塊中,首先將RGB888轉為對邊緣提取有益的Ycbcr格式,并經過中值濾波初步濾除圖像噪點,然后經過SOBEL算子與先腐蝕后膨脹操作完成視頻數據預處理操作;視頻數據緩存控制模塊將預處理后的視頻數據緩存入DDR3 SDRAM外部存儲器中,該模塊調用了MIG核進行片外DDR3讀寫控制,讀出的視頻緩存數據后經由HDMI驅動模塊輸出至顯示屏觀察系統設計效果。

圖1 系統邏輯框圖

2 FPGA片內邏輯設計

2.1 攝像頭配置模塊

本設計采用OV5640高清攝像頭,設置輸入時鐘XCLK頻率為24M,通過I2C接口賦值寄存器設置相關參數,I2C時鐘速率設置為400K。

本文系統中,分辨率為1280×720,幀率設置為30fps,其中幀率由總水平輸出寬度HTS、總豎直輸出寬度VTS和輸出時鐘PCLK頻率共同決定。

攝像頭輸出接口設置為DVP接口,則攝像頭輸出分辨率為DVP輸出水平與豎直寬度,在配置文件中,攝像頭寄存器0X3808內數據bit[3:0]與0X3809內數據bit[7:0]拼接控制DVP接口輸出水平寬度,DVP水平輸出為1280,即0X3808配置為05、0X3809配置為00。類似地,DVP輸出豎直寬度為720,即0X380A配置為02,0X380B配置為D0。

0X3035、0X3036、0X3037、0X3108等多個寄存器經過倍頻與分頻操作得到輸出時鐘PCLK,本文PCLK配置為42MHz,并通過配置0X380C與0X380D設置HTS與VTS分別為1892、740。則攝像頭輸出幀率F為:

2.2 攝像頭數據接收模塊

攝像頭輸出接口配置為DVP接口,輸出格式為RGB565,即一格圖像的數據位寬為16位。DVP時序圖如圖2所示。

圖2 DVP時序圖

圖中,VSYNS為幀同步有效信號,兩個VSYNS高電平信號中間輸出一幀圖像的數據,而HREF為行同步有效信號,當HREF信號為高,接口輸出一行圖像的數據。

DVP接口的數據寬度為8位,所以當HREF信號為高時,需兩個PCLK輸出數據拼接為一位圖像數據,在拼接接收到的視頻數據的同時,將數據RGB三個通道對應的5、6、5位數據高位填0填充至8位,再將其拼接轉化為RGB888格式。

2.3 RGB888轉Ycbcr模塊

Ycbcr作為圖像色彩空間的一種格式,常用于圖像系統的編解碼中,其中Y分量代表了一格圖像的亮度成分。對于圖像來說,顏色的亮度分量在圖像邊緣處常常發生突變,更易于提取邊緣[6]。同時,通過將彩色視頻數據通過轉為Ycbcr格式,提取其中Y分量進行后續的處理,可減少圖像的數據處理量。RGB888轉換至Ycbcr公式如下:

為避免小數計算,節省FPGA內部邏輯資源,將RGB三個系數常量左移8位并量化為整數,在計算后右移8位恢復量級,并將公式中的運算分為乘積、求和、移位三級流水線以提升運算速率,同時對相應行、場同步信號做同步延遲。

2.4 中值濾波模塊

源于排序基礎理論的中值濾波法是非線性濾波方式中抑制噪聲的有效方法之一,在能有效濾除常見的椒鹽噪聲或脈沖噪聲的同時可以保證圖像信息的完整性。本文采用中值濾波是因為該方法即不會造成圖像邊緣模糊,在保留了對常規圖像濾波效果的同時易于硬件加速實現。中值濾波的原理是采用一個鄰域中的中值來替換該鄰域內其他值,其公式為:

其中,f(x,y)為圖像像素點的像素值,g(x,y)為中值濾波后的圖像像素值,W為待濾波的圖像模板。本文采用3×3的矩陣模板,即將臨近的像素點組成3×3的矩陣,并通過排序得出模板中的中值,最后將模板中的其他像素值替換為中值。

在FPGA內部邏輯實現過程中,充分利用FPGA的并行能力,通過三級流水線進行實現:

(1)將三行數據分別進行排序,得到每行數據的最大值、中間值、最小值;

(2)分別對三行數據的最大、最小與中間值進行同時比較;

(3)將三個最大值比較得到的最小值、三個中間值得到的中間值以及三個最小值比較得到的最大值進行比較,得到最后的中值。

2.5 SOBEL運算模塊

在本模塊中,將得到的灰度圖像采用3*3的Sobel算子進行水平方向與豎直方向的同步邊緣檢測。

Sobel算法第一步需采用水平算子與豎直算子與視頻每幀圖像進行卷積運算,其中的Sobel算法的水平算子Sobelx與豎直算子Sobely如式(4)、(5)所示:

對一幀圖像進行3*3的卷積運算需緩存前兩行的數據。本設計采用了Shiftram IP核對前兩行數據進行緩存,因為Xinlinx的ShiftramIP核最大深度為1088,采用深度為1024與256的兩個IP核共同緩存一行數據。

第二步需計算圖像的梯度向量G,G等于Sobel算子在兩個方向得到的卷積值Gx與Gy的平方根,即:

其中,開方采用CORDIC核進行運算,其延遲為6個時鐘周期。

第三步將得到的梯度值G與閾值比較,大于閾值則判定為邊緣,小于閾值則相反。將輸出的圖像數據值進行翻轉,即讓檢測到的圖像邊緣顯示為白色,非邊緣顯示為黑色。

本文系統中采用雙按鍵來控制Sobel閾值的加減,可使圖像輸出調整至最佳效果。

2.6 開操作運算模塊

由于SOBEL運算結果存在檢測邊緣過厚[7-8]的問題,對處理后的邊緣數據進行開操作,即先腐蝕后膨脹。開操作可以消除圖像中的細小噪點,并能平滑邊緣輪廓。腐蝕與膨脹運算與中值濾波類似,同樣采用3*3的腐蝕矩陣與膨脹矩陣模板對每幀圖像進行運算,若圖像數據生成的3*3矩陣模板為:

則對應的腐蝕輸出Geros與膨脹輸出Gexpa分別為:

將得到的輸出Geros與Gexpa替代該模板中的其他像素值,就得到了輸出圖像。

2.7 視頻緩存控制模塊

本模塊采用DDR3存儲控制器MIG的IP核輔助完成數據緩存設計。作為整個系統中的時鐘域數據交互模塊,MIG核兩側分別采用兩個FIFO分別用于MIG的讀寫數據緩存以及數據的跨時鐘域操作。MIG核輸入差分時鐘頻率為200MHz,兩側時鐘比例設置為4:1。

FPGA內部邏輯通過控制讀寫使能信號app_en、app_wdf_wren,以及觀測是否可以進行讀寫的準備信號app_rdy、app_wdf_wren進行讀寫操作,并化用乒乓操作思想,通過地址總線與BANK地址來進行視頻數據存儲位置切換,提升了實際帶寬,避免了視頻圖像拖影現象的產生。

2.8 HDMI驅動模塊

本系統采用了常規HDMI驅動芯片Sil9134作為顯示橋接芯片,通過產生1280×720的VGA時序讀取讀FIFO內的視頻采集數據,并通過Sil9134芯片轉換為HDMI接口輸送至顯示屏顯示。其中1280×720的VGA時序圖見2,通過計數器產生VSYNC信號和HREF信號,其計數時序表如表1所示。

表1 VGA時序表

表1中,當計數器在SYNC范圍內,將VSYNC、HREF信號置為高電平。而當計數器處于DISP范圍內時,將行、列有效信號置為高電平,數據有效信號DE在行、列信號同時為高時置為高電平。

3 版級調試與驗證

將代碼下載至開發板進行版級測試,初始閾值設置為23,測試圖如圖3所示。

圖3 測試原圖

采用中值濾波與Sobel算子結果如圖4所示,圖像邊緣提取過厚,且在邊緣提取后有細小噪點產生。

圖4 Sobel提取結果

加上腐蝕算法后結果如圖5所示,可以看到,腐蝕操作消除了Sobel提取后的船體體內與桅桿周圍的噪點,并削弱了檢測邊緣厚度,但將船帆的左上邊緣、船體下部陰影邊緣以及船體右側細小邊緣隔斷或濾除。

圖5 Sobel與腐蝕提取結果

加上膨脹算法后結果為圖6所示,膨脹操作將腐蝕操作細化的邊緣進行增強,并平滑了船體的邊緣輪廓。

圖6 Sobel與開操作提取結果

實驗結果顯示,本文設計系統可以較好的完成預期功能,圖像主要邊緣提取效果好,圖像噪聲較低。

4 結論

本文采用Xinlinx公司Kintex-7系列FPGA的XC7K325T芯片與0V5640高清攝像頭完成了基于Sobel算子的實時圖像采集與顯示系統設計,并通過版級調試測試了預處理算法各模塊的處理效果,驗證了系統工作正確性,為要求更高、算法更為復雜的實時視頻處理系統設計提供了參考。

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 亚洲欧洲日本在线| 国产jizzjizz视频| 国产一区免费在线观看| 久久精品这里只有精99品| 亚洲国产成人自拍| 欧美成人精品在线| 亚洲欧美国产视频| h网址在线观看| 日韩精品专区免费无码aⅴ| 国产一二视频| 国产成人免费| 国产精品亚洲一区二区在线观看| 亚洲最大综合网| 91精品专区| 亚洲成年人网| 国产精品成人第一区| 国产成人精品日本亚洲| 一本综合久久| 亚洲无线观看| 中日韩一区二区三区中文免费视频 | 日本中文字幕久久网站| 欧洲成人免费视频| 久久国产免费观看| 亚洲全网成人资源在线观看| 91久久偷偷做嫩草影院免费看| 看看一级毛片| 伊人激情综合| 91成人在线观看视频| 婷婷六月激情综合一区| 波多野结衣第一页| 欧美日韩中文字幕二区三区| 在线国产三级| 亚洲欧美一级一级a| 美女啪啪无遮挡| 久久福利网| 99re在线视频观看| 欧美黄网在线| 国产精品永久久久久| 青青草91视频| 福利一区在线| av天堂最新版在线| 免费无码AV片在线观看国产| 亚洲成A人V欧美综合天堂| 国产午夜看片| 久久久久亚洲Av片无码观看| 中文字幕日韩丝袜一区| 国产国产人在线成免费视频狼人色| 国产99视频精品免费视频7| 69视频国产| 热99re99首页精品亚洲五月天| 国产丝袜无码精品| 欧美国产日本高清不卡| 伊人久久综在合线亚洲2019| 一本色道久久88亚洲综合| 欧美国产中文| 亚洲中文字幕久久精品无码一区| 国产精品美乳| 久久国产乱子| 99热免费在线| 国产屁屁影院| 亚洲成人高清在线观看| 久久国产精品麻豆系列| 国产农村精品一级毛片视频| 五月激激激综合网色播免费| 亚洲三级色| 日韩免费毛片视频| 日本精品αv中文字幕| 尤物国产在线| 久草视频福利在线观看| 亚洲人成人伊人成综合网无码| 欧美激情首页| 青青操国产| 乱码国产乱码精品精在线播放| 一级一级一片免费| 久久综合九九亚洲一区| 久久综合结合久久狠狠狠97色| 欧洲成人免费视频| 国产极品粉嫩小泬免费看| 国产男女免费完整版视频| 天天摸天天操免费播放小视频| 国产日本一线在线观看免费| 看国产一级毛片|