精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA的實時圖像邊緣檢測系統(tǒng)

科技綠洲 ? 來源:FPGA創(chuàng)新中心 ? 作者:FPGA創(chuàng)新中心 ? 2022-05-01 09:08 ? 次閱讀

圖像的邊緣包含了圖像大量的信息,圖像邊緣檢測作為圖像處理領(lǐng)域中的重要內(nèi)容,在實際應(yīng)用中也具有重要意義。例如在工業(yè)生產(chǎn)線、車輛檢測、車牌識別等實時應(yīng)用中,通過邊緣檢測能夠有效簡化對圖像的分析。由于實時數(shù)字圖像處理系統(tǒng)具有數(shù)據(jù)量大、處理速度快、重復(fù)度高等特點,傳統(tǒng)的軟件方法顯然無法滿足。而由于FPGA具有豐富的邏輯資源和存儲資源,能夠?qū)崿F(xiàn)并行和流水線處理,因此,使用FPGA來實現(xiàn)需要大量計算的數(shù)字圖像處理算法,能夠大大提高圖像處理的效率。

本文介紹了一個基于FPGA的實時圖像邊緣檢測系統(tǒng)。本篇重點介紹灰度轉(zhuǎn)換、高斯濾波、Sobel邊緣檢測等經(jīng)典數(shù)字圖像處理算法的原理;分析了OV5640攝像頭的時序;SDRAM芯片工作原理及乒乓緩存原理。下篇主要介紹圖像處理算法的實現(xiàn);OV5640攝像頭驅(qū)動模塊的設(shè)計;SDRAM控制器的設(shè)計;相關(guān)模塊的仿真和板級驗證。

一。 數(shù)字圖像處理算法原理

01

灰度轉(zhuǎn)換

RGB顏色模型是由紅(Red)、綠(Green)、藍(Blue)三種基色以不同的比例疊加而成;而且每個像素分量(R、G、B)的值分布在0—255范圍內(nèi),三種基色以不同的比例混合,能夠顯示出2563種顏色。

以RGB888格式的真彩色圖像為例,表示1個像素點需要24bit二進制數(shù)據(jù),在后續(xù)做Sobel運算時,計算量較大,所以為了簡化后續(xù)計算,將攝像頭采集的RGB565格式的彩色圖像轉(zhuǎn)化為1bit表示的二值圖像,而后通過Sobel算子檢測圖像像素的梯度提取出圖像的邊緣點。對于彩色圖像的二值化一般分為兩個步驟:先將彩色圖像進行灰度化得到灰度圖像,然后對灰度圖像進行二值化得到二值圖像。

對于彩色圖像轉(zhuǎn)化為灰度圖像,有一個著名的色彩心理學(xué)公式,即:

poYBAGJaNoaARFEcAAAe46DRwxI969.png

實際上,上述公式是一個加權(quán)求和的過程。但是在實際應(yīng)用時,由于FPGA希望避免復(fù)雜的浮點運算,所以這里我們采用整數(shù)運算。將R、G、B三個分量對應(yīng)的系數(shù)放大256倍得到整數(shù)結(jié)果:

pYYBAGJaNpCAKeyGAABDqSoopEk121.png

在灰度轉(zhuǎn)換過程中,可能會因為取整操作引入噪聲,所以接下來使用高斯濾波算法來去除灰度轉(zhuǎn)化過程中引入的噪聲。

02

高斯濾波

在對圖像進行誤差評估時,往往認為傳感器引入的噪聲、灰度化處理引入的噪聲都是服從正態(tài)分布(高斯白噪聲),這時使用高斯濾波器就可以很好地消除高斯噪聲。高斯濾波本質(zhì)上是一種線性平滑濾波,即對整幅圖像進行加權(quán)平均的過程,每一個像素點的值都是由其本身和鄰域內(nèi)的其他像素點加權(quán)平均后得到的。

高斯濾波的具體操作是使用一個N*N卷積模板對整幅圖像掃描,用模板確定的鄰域內(nèi)的像素加權(quán)平均值代替模板中心像素點的值。本文使用的3*3卷積模板如下:

poYBAGJaOI6Ae3e-AAASEUuB7bo643.png

高斯濾波可以表達為:

poYBAGJaOJqANinFAABIhWk5nOA480.png

其中,I(x,y)表示原圖像中坐標(biāo)為(x,y)的像素值;G(x,y)表示高斯濾波之后的值。這里為了計算方便,選取的模板H的權(quán)重系數(shù)都是2的系數(shù)。模板中心的權(quán)值最大,這樣有利于克服邊界效應(yīng),避免經(jīng)過高斯濾波之后圖像模糊。

03

二值化處理

在圖像處理中,二值化的作用是把灰度圖像的像素值設(shè)置為0或者255,即純黑或者純白。通過二值圖像,能更好地分析物體的形狀和輪廓,有利于后續(xù)使用Sobel算子檢測圖像的邊緣。二值化有多種方法,其中最常用的就是采用閾值法進行二值化,根據(jù)閾值選取方式不同,又可以分為全局閾值法與局部閾值法。本文選用全局閾值法,即人為設(shè)定一個固定的閾值。

04

Sobel邊緣檢測

Sobel算子主要用于檢測圖像邊緣,在物體的邊緣通常都有像素的變化,反映了物體與背景之間的差異,或者兩個物體之間的差異。它是一個離散差分算子,用來計算像素點上下、左右領(lǐng)域內(nèi)像素點的加權(quán)差,根據(jù)在邊緣處達到極值來檢測邊緣。另外,Sobel算子對噪聲也有一定的平滑作用,檢測出精確的邊緣信息,但是邊緣定位精度不高。

Sobel算子在水平方向和垂直方向各采用一個模板,檢測各方向上的邊緣,其優(yōu)點是計算簡單,速度快;但是對于紋理較為復(fù)雜的圖像,檢測效果不理想。水平方向模板Sx和垂直方向模板Sy如下:

pYYBAGJaOKuAAJXxAAAaWNGAgyo425.png

將兩個算子與圖像做平面卷積,即可得到水平方向與垂直方向的梯度值;若以I表示圖像矩陣,Gx表示水平方向圖像梯度值,Gy表示垂直方向的梯度值,則Gx與Gy可以表示如下:

poYBAGJaOLeAQEnDAABnD0PmYJw643.png

其中,I(x,y)表示模板掩蓋的3*3圖像中心的像素點。最終,圖像中每個像素點對應(yīng)的梯度值按照以下公式計算:

pYYBAGJaOMiAU02AAAAPp3SJ74Y576.png

通常為了簡化計算,會使用以下公式近似:

pYYBAGJaONKAHiCCAAANsnjuBLQ577.png

二。 OV5640攝像頭介紹

攝像頭按輸出信號的類型可以分為數(shù)字攝像頭和模擬攝像頭,按照攝像頭圖像傳感器材料構(gòu)成可以分為CCD和CMOS。現(xiàn)在智能手機的攝像頭絕大部分都是CMOS類型的數(shù)字攝像頭。

OV564是一款CMOS類型數(shù)字圖像傳感器,該傳感器支持輸出最大為500萬像素的圖像 (2592x1944分辨率),支持使用VGA時序輸出圖像數(shù)據(jù),輸出圖像的數(shù)據(jù)格式支持YUV(422/420)、YCbCr422、RGB565以及JPEG格式。它還可以對采集得的圖像進行補償,支持伽瑪曲線、白平衡、飽和度、色度等基礎(chǔ)處理。根據(jù)不同的分辨率配置,傳感器輸出圖像數(shù)據(jù)的幀率從15-60幀可調(diào)。其內(nèi)部有許多寄存器,用來配置攝像頭的工作方式、圖像格式等等;在實際應(yīng)用時需要先使用SCCB協(xié)議或者是I2C協(xié)議配置寄存器,使攝像頭按照常見的VGA時序輸出圖像數(shù)據(jù)。這里不對SCCB和VGA協(xié)議詳細介紹。在本次設(shè)計中,使用I2C協(xié)議配置攝像頭,并將OV5640分辨率配置為720P、數(shù)據(jù)格式為RGB565輸出。

三。 SDRAM介紹

在圖像處理系統(tǒng)中,需要對圖像視頻數(shù)據(jù)進行緩存,所以需要大容量存儲器。SDRAM(Synchronous Dynamic Random Access Memory,即同步動態(tài)隨機存取存儲器)有價格優(yōu)廉、容量大等優(yōu)點,常作為FPGA的外掛存儲器。同步是指其工作需要同步時鐘,命令的發(fā)送與數(shù)據(jù)的傳輸都以時鐘為基準(zhǔn);動態(tài)是指存儲陣列需要不斷的刷新來保證電容存儲體中的數(shù)據(jù)不丟失;隨機是指數(shù)據(jù)可以自由指定地址進行數(shù)據(jù)讀寫。本次設(shè)計中,使用的SDRAM芯片型號為:HY57V2562GTR,容量為256Mbit,數(shù)據(jù)位寬為16bit,最大工作頻率為133MHz。

乒乓緩存是一種常用的雙緩存機制,尤其是在圖像處理中進行大量數(shù)據(jù)處理時,為了保證系統(tǒng)的吞吐量,使用兩個緩存來存儲數(shù)據(jù);一個緩存用來保存舊的數(shù)據(jù)供圖像處理模塊讀取,與此同時,另一個緩存保存圖像采集模塊產(chǎn)生的新數(shù)據(jù);同時以包文的格式對數(shù)據(jù)進行緩存,有利于保證視頻圖像數(shù)據(jù)幀的完整性。

本次設(shè)計使用SDRAM的兩個Bank來實現(xiàn)乒乓緩存,當(dāng)向Bank0緩存數(shù)據(jù)時,從Bank3讀數(shù)據(jù),直到向Bank0寫完一幀數(shù)據(jù),且從Bank3讀完一幀數(shù)據(jù)時,才切換Bank;當(dāng)向Bank3緩存數(shù)據(jù)時,從Bank0讀數(shù)據(jù),直到向Bank3寫完一幀數(shù)據(jù),且從Bank0讀完一幀數(shù)據(jù)時,才切換Bank。通過兩個Bank循環(huán)讀寫即可實現(xiàn)數(shù)據(jù)的無縫緩沖與處理。在實際設(shè)計中對數(shù)據(jù)進行了丟幀處理,如果在不允許丟幀的情況下,可以對每個Bank緩存多幀數(shù)據(jù)。

poYBAGJaOOqAbkzvAABJalL2-9Q444.png

乒乓緩存示意圖

至此,本文主要對圖像處理中的幾種經(jīng)典算法的原理進行了簡要介紹,并介紹了我們使用的圖像采集傳感器OV5640攝像頭、SDRAM存儲器的一些特性。下一篇文章我們將繼續(xù)講述:幾種算法的Verilog實現(xiàn)方案、攝像頭傳感器的配置與數(shù)據(jù)采集模塊的設(shè)計方案、SDRAM芯片的控制器設(shè)計方案。

審核編輯:彭菁
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2548

    文章

    50740

    瀏覽量

    752143
  • FPGA
    +關(guān)注

    關(guān)注

    1626

    文章

    21678

    瀏覽量

    602031
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7455

    瀏覽量

    163623
  • 邊緣檢測
    +關(guān)注

    關(guān)注

    0

    文章

    92

    瀏覽量

    18202
收藏 人收藏

    評論

    相關(guān)推薦

    基于FPGA實時邊緣檢測系統(tǒng)設(shè)計,Sobel圖像邊緣檢測FPGA圖像處理

    摘要 :本文設(shè)計了一種 基于 FPGA實時邊緣檢測系統(tǒng) ,使用OV5640 攝像頭模塊獲取實時
    發(fā)表于 05-24 07:45

    基于FPGA的嵌入式圖像邊緣檢測系統(tǒng)設(shè)計

    本帖最后由 mingzhezhang 于 2012-5-23 19:28 編輯 為了提高數(shù)字圖像的處理速度,提出了用FPGA來設(shè)計嵌入式sobel邊緣檢測
    發(fā)表于 05-23 19:16

    基于FPGA的數(shù)字圖像處理中的邊緣檢測系統(tǒng)

    `基于FPGA的數(shù)字圖像處理領(lǐng)域的邊緣檢測系統(tǒng)。該系統(tǒng)實現(xiàn)了從24位真彩色圖片的存儲到VGA顯示
    發(fā)表于 06-26 13:36

    基于FPGA邊緣檢測和Sobel算法

    轉(zhuǎn)帖摘要: 針對嵌入式軟件無法滿足數(shù)字圖像實時處理速度問題,提出用硬件加速器的思想,通過FPGA實現(xiàn)Sobel邊緣檢測算法。通過乒乓操作、并
    發(fā)表于 11-29 08:57

    基于FPGA的視頻實時邊緣檢測系統(tǒng)該怎么設(shè)計?

    。基于DSP方式在運算速度、數(shù)據(jù)吞吐量等方面有限制。本設(shè)計基于FPGA實現(xiàn),邊緣檢測采用流水線結(jié)構(gòu)。實驗結(jié)果表明,該系統(tǒng)十分適合視頻數(shù)據(jù)的處理。
    發(fā)表于 09-24 06:55

    怎樣去設(shè)計基于FPGA實時圖像邊緣檢測系統(tǒng)

    今天給大俠帶來基于FPGA實時圖像邊緣檢測系統(tǒng)設(shè)計,由于篇幅較長,分三篇。今天帶來第二篇,中篇
    發(fā)表于 07-28 06:06

    怎樣去設(shè)計一種基于FPGA實時圖像邊緣檢測系統(tǒng)

    FPGA是如何實現(xiàn)圖像邊緣檢測的?怎樣去設(shè)計一種基于FPGA實時
    發(fā)表于 10-19 10:10

    基于FPGA實時圖像邊緣檢測系統(tǒng)設(shè)計(附代碼)

    今天給大俠帶來基于FPGA實時圖像邊緣檢測系統(tǒng)設(shè)計,由于篇幅較長,分三篇。今天帶來第一篇,上篇
    發(fā)表于 06-21 18:47

    基于FPGA圖像邊緣檢測

    基于FPGA圖像邊緣檢測 引言     圖像邊緣
    發(fā)表于 01-14 11:07 ?1861次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>圖像</b><b class='flag-5'>邊緣</b><b class='flag-5'>檢測</b>

    實時圖像邊緣檢測的設(shè)計及FPGA實現(xiàn)

    文中將FPGA應(yīng)用于實時圖像邊緣檢測系統(tǒng),從而實現(xiàn)動態(tài)實時
    發(fā)表于 12-22 17:06 ?39次下載
    <b class='flag-5'>實時</b><b class='flag-5'>圖像</b><b class='flag-5'>邊緣</b><b class='flag-5'>檢測</b>的設(shè)計及<b class='flag-5'>FPGA</b>實現(xiàn)

    數(shù)字圖像邊緣檢測FPGA實現(xiàn)

    數(shù)字圖像邊緣檢測FPGA實現(xiàn)......
    發(fā)表于 01-04 15:31 ?18次下載

    基于FPGA實時圖像邊緣檢測系統(tǒng)設(shè)計

    算法得以實現(xiàn)。 本篇闡述了基于FPGA設(shè)計一個能夠實時采集、實時處理并實時顯示的數(shù)字圖像處理系統(tǒng)
    的頭像 發(fā)表于 06-30 09:49 ?2244次閱讀

    FPGA設(shè)計中 Verilog HDL實現(xiàn)基本的圖像濾波處理仿真

    參考。 《岡薩雷斯數(shù)字圖像處理MATLAB版》中文版(第二版) 電子版 薦讀:FPGA設(shè)計經(jīng)驗之圖像處理 基于FPGA實時
    的頭像 發(fā)表于 07-13 09:30 ?2790次閱讀

    基于FPGA實時圖像邊緣檢測系統(tǒng)的實現(xiàn)

    上篇我們介紹了相關(guān)的算法原理以及外設(shè)特性,本篇我們將介紹一下基于FPGA實時圖像邊緣檢測系統(tǒng)
    的頭像 發(fā)表于 04-21 10:56 ?2574次閱讀
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>實時</b><b class='flag-5'>圖像</b><b class='flag-5'>邊緣</b><b class='flag-5'>檢測</b><b class='flag-5'>系統(tǒng)</b>的實現(xiàn)

    基于FPGA實時圖像邊緣檢測系統(tǒng)設(shè)計(附代碼)

    在本系統(tǒng)設(shè)計過程中,我以自頂向下的層次化設(shè)計思想為主進行系統(tǒng)的頂層架構(gòu)設(shè)計,明確各模塊的功能以及各模塊之間的握手關(guān)系,之后分模塊編寫代碼并加以驗證,調(diào)試代碼使得各模塊功能得以實現(xiàn),最后基于頂層模塊
    的頭像 發(fā)表于 11-03 10:42 ?1933次閱讀