<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的圖像實(shí)時(shí)處理系統(tǒng)設(shè)計(jì)

          基于FPGA的圖像實(shí)時(shí)處理系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2015-06-23 來源:網(wǎng)絡(luò) 收藏

            2.2.3中值濾波算子模塊

          本文引用地址:http://www.ex-cimer.com/article/276158.htm

            中值濾波的原理是把圖像中某一點(diǎn)的像素值用該點(diǎn)的一個(gè)鄰域中各點(diǎn)像素值的中值代替,讓該點(diǎn)像素值更加接近真實(shí)值,從而消除孤立的噪聲點(diǎn)的濾波方法。在本系統(tǒng)中,選用3×3中值濾波模塊,其具體算法為將圖像某一點(diǎn)及其周圍8個(gè)點(diǎn)的像素按照大小排列順序,取9個(gè)像素值的中間值作為當(dāng)前點(diǎn)的像素值,依次濾除整幀圖像的雜散信號(hào)。

            通過實(shí)現(xiàn)9個(gè)數(shù)大小的排序,為了節(jié)省處理時(shí)間和芯片片上資源,利用快速中值濾波算法,結(jié)合流水線結(jié)構(gòu),分級(jí)排序來選取圖像像素的中間值。排序步驟如下:首先對(duì)3×3陣列進(jìn)行列排序,然后行排序,最后副對(duì)角線排序,得到濾波中值。下圖4為快速中值濾波示意圖,圖中的C代表三輸入排序器,所用比較器為assign結(jié)構(gòu),可以節(jié)約大量比較所用時(shí)間,提高系統(tǒng)的實(shí)時(shí)性。

            

           

            圖4快速中值濾波算法示意圖

            2.3閾值分割

            由于實(shí)時(shí)圖像系統(tǒng)的刷新頻率較快(BT656格式每秒刷新25幀圖像),每幀圖像之間像素灰度均值差別很小,因此,我們可以利用上一幀圖像的統(tǒng)計(jì)值來計(jì)算閾值,為下一幀圖像二值化提供閾值,以適應(yīng)測(cè)試環(huán)境變化所引起的閾值變化,閾值統(tǒng)計(jì)采用直方圖的方式。

            利用的IP核生成一個(gè)256×9位的DPRAM,用以作為直方圖的計(jì)數(shù)器。以該DPRAM的地址作為圖像的像素值,而以DPRAM的內(nèi)部存儲(chǔ)值,作為該幀圖像中該像素值的個(gè)數(shù),每讀出一位相應(yīng)的像素,對(duì)應(yīng)地址的內(nèi)部寄存器加1,以此完成整幀圖像的像素統(tǒng)計(jì)。

            整幀圖像像素統(tǒng)計(jì)完成以后,按照地址從小到大的順序,依此累加DPRAM中的值,當(dāng)累加和不小于整幀圖像像素?cái)?shù)的0.7時(shí),該DPRAM地址,即為直方圖法得到的閾值,然后利用該閾值,為下一幀圖像做閾值分割。

            2.4邊緣檢測(cè)

            邊緣檢測(cè)在圖像處理中占有很重要的地位,好的邊緣檢測(cè),可以提高圖像的定位精度,減少圖像后續(xù)處理中的數(shù)據(jù)量。綜合考慮各種濾波算法的優(yōu)缺點(diǎn),由于Sobel算法對(duì)噪聲容抗較大,并且較易在上實(shí)現(xiàn),因此,選取Sobel算法作為該系統(tǒng)的邊緣檢測(cè)算法。

            邊緣檢測(cè)模塊類似于濾波模塊,同樣也包括3個(gè)主要部分:乒乓結(jié)構(gòu)存儲(chǔ)模塊、3×3陣列生成模塊和Sobel邊緣檢測(cè)算子模塊。前兩個(gè)部分不再贅述,本文主要介紹Sobel算子模塊。

            該算子包含兩組3×3的矩陣,分別為橫向及縱向,將之與圖像作平面卷積,即可分別得出橫向及縱向的亮度差分近似值。

            利用FPGA在硬件并行結(jié)構(gòu)和流水線結(jié)構(gòu)的特點(diǎn),我們將整個(gè)Sobel算子分為4級(jí),第一、二級(jí)分別將首、末行和首、末列按照算子模板參數(shù)相加并輸出結(jié)果,第三級(jí)將上級(jí)所得到的行列結(jié)果分別相減,第四級(jí)比較上級(jí)所得兩個(gè)值的絕對(duì)值,取絕對(duì)值較小的值作為Sobel檢測(cè)結(jié)果。如此,每個(gè)時(shí)鐘周期每級(jí)都執(zhí)行各自相應(yīng)的加減法運(yùn)算,并在下個(gè)時(shí)鐘上升沿將所得數(shù)據(jù)級(jí)級(jí)傳遞,即可完成3×3陣列的Sobel算法,該模塊的流水線結(jié)構(gòu)如圖5所示。這樣,在每個(gè)時(shí)鐘周期,都會(huì)輸出1個(gè)Sobel檢測(cè)值,即處理每一行圖像數(shù)據(jù),僅需要n+4個(gè)時(shí)鐘周期的時(shí)間,處理整幀圖像所需最少時(shí)間為(n+4)×m×T,其中n為每行像素點(diǎn)個(gè)數(shù),m為行數(shù),T為時(shí)鐘周期。

            

           

            圖5 Sobel算法的流水線結(jié)構(gòu)

            3實(shí)驗(yàn)結(jié)果分析

            根據(jù)系統(tǒng)硬件結(jié)構(gòu)搭建的實(shí)驗(yàn)平臺(tái),連接各模塊接口,編譯并下載程序,運(yùn)行系統(tǒng)。在實(shí)驗(yàn)室環(huán)境下采集圖像,并進(jìn)行濾波和邊緣檢測(cè)等處理,在CCS3.3的view/graph菜單下觀測(cè)處理圖像效果圖,實(shí)驗(yàn)結(jié)果與原圖對(duì)比如圖6所示。由于實(shí)驗(yàn)室光線環(huán)境較為穩(wěn)定,圖像噪聲較少,濾波效果不明顯,但是通過圖6(c)可以明顯看到圖像邊緣檢測(cè)效果較好,可以滿足圖像預(yù)處理要求。

            針對(duì)系統(tǒng)圖像預(yù)處理速度的評(píng)估,我們以Sobel邊緣檢測(cè)算法作為參考。首先利用CCS3.3的計(jì)時(shí)函數(shù),運(yùn)行得到對(duì)一幀720×576像素的圖像邊緣提取所用時(shí)間為254.83ms,然后通過上文所列公式計(jì)算FPGA圖像邊緣提取所用最少時(shí)間為15.445ms.通過兩種處理方式所用時(shí)間的比較,可以明顯得出FPGA在圖像預(yù)處理時(shí)的速度優(yōu)勢(shì),完全可以滿足圖像實(shí)時(shí)處理的要求,具有很強(qiáng)的實(shí)用性。

            

           

            圖6圖像處理結(jié)果

          熱成像儀相關(guān)文章:熱成像儀原理


          關(guān)鍵詞: FPGA DSP

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();