1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>電子通信論文>用CPLD實現嵌入式平臺上的實時圖像增強

    用CPLD實現嵌入式平臺上的實時圖像增強

    時間:2023-02-21 00:12:04 電子通信論文 我要投稿
    • 相關推薦

    用CPLD實現嵌入式平臺上的實時圖像增強

      摘要:提出了在嵌入式平臺上用CPLD實現實時圖像增強算法的解決方案,并加以實現。重點討論了經過改進的圖像增強算法以及使用CPLD實現的具體方法,介紹了所采用的嵌入式平臺的總體結構。
      關鍵詞:嵌入式CPLD實時處理圖像增強
      
      通常,在擁有DSP或FPGA的嵌入式平臺上,有關圖像信號處理的算法部分都由DSP和FPGA完成。但是相對于標準的PC平臺來說,嵌入式平臺的資源有限得多,而且由于成本的原因,中央處理器的速度也通常無法與PC相比。因此,在PC機上用軟件可以輕易實現的圖像處理算法,完全移植到嵌入式平臺上就要頗費一番周折了。
      
      為了達到實時圖像處理的目的,除了最大限度地發揮中央處理器的圖像處理能力外,還需要合理地分配任務。DSP芯片的優勢在于乘除運算的能力,由于其特殊的流水線結構和處理單元,大部分DSP都能在單周期內完成在PC上需若干個周期才能完成的乘法運算,所以在進行諸如FFT、DCT等運算時優勢明顯;相反在進行簡單的加減運算時,由于時鐘頻率和總線寬度都無法與PC機相比,效率不高。因此,如果能用硬件實時實現這些相對簡單卻又繁瑣的運算,就可以大大提高系統的總體性能。
      
      1改進的圖像增強算法
      
      圖像增強是圖像處理中用于改善圖像質量以及圖像視覺效果的一種方法。在DSP平臺上采用直方圖均衡實現實時圖像增強是一種常用的方法。對一幅連續圖像,其具有灰度G的閾值面積(所有輪廓線所包圍的面積)為A(G),則其直方圖H(G)定義為:
      
      H(G)=lim[A(G+ΔG)-A(G)/ΔG=d/dcA(G),
      
      ΔG→0
      
      對于數字圖像,G為整數,A(G)表示灰度值大于等于G的象素個數,當ΔG=1,H(G)=A(G+1)-A(G)。
      
      如果對A(G)做一次系數為Gm/A0的比例變換,Gm表示灰度的最大值,A0表示圖像的面積(在數字圖像中為象素總數)。這就是種線性直方圖均衡。這種直方圖均衡的具體實現如下:
      
      (1)對于圖像{Pi,j|i=1,2,...,n;j=1,2,...,m},就灰度G,G=0,1,...255,求出直方圖H(G);
      
      (2)由A(G+1)=A(G)+H(G)求出閾值面積A(G),G=1,2,...,255;
      
      (3)求出變換后的灰度分度值hnew(G)=255A(G)/A0,A0=nm;
      
      (4)Pij=hnew(Pij)。
      
      借助LUT,可使運算以最快速度實現。
      
      考察直方圖均衡的實現過程可以發現,這是一種有限區間內的單調變換。從其頻域特性看,直方圖均衡改變了已有頻率成分的分布,使它們分布得更加均勻,但并不增加新的頻率成分。直方圖均衡對于彩色(灰度)值集中在低端的圖像,可起到較明顯的視覺改善作用。但對于那些色彩分布很不均勻、頻帶較窄,特別是整體偏亮的圖像,效果就不明顯了。
      
      本文采用一種新的圖像增強方法,將對圖像的邊緣增強處理與均衡結合起來,并且這些運算最終可由硬件實現。
      
      對于連續圖像P,其局部邊緣可由對應空間梯度的幅值,取其一階近似ΔPi,j=2Pi,j-Pi,j-Pi-1,j,可得圖像{Pi,j|i=1,2,...,n;j=1,2,...,m}在(i,j)的邊緣信息。
      
      如果不計Pi,j的取值范圍,可直接對圖像{Pi,j|i=1,2,...,n;j=1,2,...,m}進行修正:
      
      P′i,j=Pi,j+ΔPi,j,
      
      其中,P′i,j表示Pi,j修正后的值。顯然,圖像{Pi,j|i=1,2,...,n;j=1,2,...,m}按此規則修正后邊緣值的變化更為強烈,邊緣更為突出,可達到邊緣增強的效果。同時,由于在原圖像上疊加了梯度值,使得修正后的圖像的頻譜有一定的擴展。但由于沒有對Pi,j的取值作約束,這樣處理后的象素值可能會溢出,例如對于每個色彩通道為8位的圖像,處理后的數值可能會大于255或小于0。因此,通常要對其進行歸一化處理,即:
      
      
      
      
      Pnew=255×(P′-P′min)/(P′max-P′min)。
      
      但用硬件實現乘除運算可能會占用很多資源,上述公式即便以運算實現都是很不經濟的。本文采用預拉伸加飽和/截止的方法,在不犧牲頻率特性的基礎上達到減少計算量的目的。
      
      考察ΔPi,j與Pi,j的直方圖,分別取得它們的右峰值所對應的橫座標,記為GΔ和G,并找到k,使得kGΔ+G=255,則修正公式變為P′i,j=Pi,j+kΔPi,j。其中kΔPi,j可以LUT實現。修正后的P′i,j可在[0,255]上進行飽和/截止運算。
      
      2用CPLD實現實時的圖像增強
      
      本文所采用的改進圖像增強算法的主要成份是差分、累加以及飽和/截止。這些運算都是加減法及邏輯運算,都屬于ALU的簡單操作,適合硬件實現。本文采用CPLD實現所提出的算法。以對具有30fps的1280×1024RGB圖像計算ΔPi,j為例,每計算一點ΔPi,j需要4次加(減)運算,即總的需要1280×1024×3×30×4=471,895,200次加(減)運算。如果采用的DSP的速度是100MHz,且假定所有運算都是單周期的,則僅僅該運算就需要4.7s!所以采用CPLD實現某些運算是必需的。
      
      圖3圖像增強算法的硬件實現結構
      
      采用CPLD實現運算(例如邊緣處理中涉及的求梯度運算),還需解決數據的暫存問題。本文以一片高速SRAM作為數據緩沖區。由于圖像數據的采樣輸入的頻率也很高,需要充分合理地安排好每一次操作的時序,充分利用已參與運算的數據及中間結果,減少數據進出SRAM的次數。
      
      2.1基于E1-DSP的網絡圖像采集平臺
      
      在分析具體實現方法前,先簡要介紹所采用的硬件平臺。該平臺主要用于遠程圖像采集和以太網傳輸,其圖像通道結構如圖1所示。
      
      OV9620是CMOS的數字圖像傳感器,負責采集連續的數字圖像;中央處理器使用德國HYPERSTONE公司的E1系列RISCDSP,它集DSP和RISC于一身,可以加載OS,方便地實現任務調度、內存管理等功能,大大提高系統的總體性能;CPLD的基本功能是作為E1總線接口控制模塊,本文還將用它實現圖像增強運算。
      
      2.2算法的總流程
      
      為了實現實時的讀寫和運算,需要由外部電路產生24MHz×4的時鐘EXCLK作為讀寫時鐘,所有時序都由CMOS時鐘和EXCLK控制,可以做到完全同步。具體流程如圖2所示。
      
      (1)在CMOS時鐘到來時,從CMOS傳感器的數據輸出口采集Pi,j,并實現加法運算RESULT=Pi,j+Pi,j,同時用EXCLK的第0個時鐘向SRAM寫入P′i,j-1或P′i,m-1(本行最后一個數據,下一次操作應換行);
      
      (2)在EXCLK的第1個時鐘鎖存RUSELT,由SRAM讀入Pi-1,j,并做減法運算RESULT=RESULT-Pi-1,j;
      
      (3)在EXCLK的第2個時鐘鎖存RUSELT,由SRAM讀入Pi,j-1,并做減法運算RESULT=RESULT-Pi,j-1;
      
      (4)在EXCLK的第3個時鐘鎖存RUSELT,同時寫入Pi,j。
      
      然后開始下一個點的運算。
      
      2.3硬件實現的邏輯結構
      
      用CPLD實現該算法所采用的邏輯結構如圖3所示。
      
      其中?熏加模塊實現2×Pi,j運算,生成9位的運算結果交給減模塊;減模塊在EXCLK的第二和第三個時鐘分別讀入Pi-1,j和Pi,j-1進行減法運算,并把結果存回result寄存器。由于兩次減法在時間上是錯開的,因此只需要一個減法器就夠了,節約了內部資源。
      
      圖3中的脈沖計數器是一個模4計數器,所有的讀寫時序和運算時序都由它控制。數據通道切換模塊控制流入result寄存器的數據流,在第一個EXCLK時鐘讓加法器的結果進入result,其余的時間都讓減法器的結果進入result。兩個選通邏輯模塊對EXCLK起門控作用,選通邏輯1允許第1個和第2個時鐘通過,用來鎖存從SRAM讀入的數據;選通邏輯2允許第1、2、3個時鐘通過,用來鎖存三次運算的結果。
      
      SRAM的讀寫操作由地址發生器和讀寫控制模塊共同實現。由于四次讀寫操作的地址都不同,且不連續,無法用普通的地址計數器實現。這里采用地址計數器加偏移的相對尋址法,具體結構如圖4所示。
      
      地址計數器中保存Pi,j的地址,它由cmosclk作為時鐘實現累加;偏移地址則由脈沖計數器模塊控制,分別選擇P′i,j-1、Pi-1,j、Pi,j-1和Pi,j的偏移地址;最后做減法運算得到絕對地址送到SRAM。
      
      通過上述設計和優化,完全可以在結構和功能都比較簡單的CPLD上實現實時的圖像增強處理。
      
      由于采
      
      
      
      用了改進的圖像增強算法,在處理窄頻帶的圖像時收到了非常好的效果,部分測試結果如圖5所示。
      
      與傳統的處理方法相比,改進后的算法對圖像的均衡效果更為明顯一些,而且由于展寬了頻帶,圖像的細節更加豐富,圖像更加明艷和清晰。
      
      以上算法都在CPLD上實現,并沒有占用DSP的處理時間,因而節省了大量的運算時間。筆者做過一個實際測試,在100MHz主頻的E1DSP上用C編程實現一幀640×480RGB圖像的增強算法大約需要100ms(如果用匯編語言編程或對程序作優化可使性能提高一些),而且要占用大量存儲資源。這樣的運算速度只適合靜止圖像的處理。所以,如果不做簡化處理或采用更高性能的DSP,根本無法做到實時處理。由此可見,采用硬件處理的方法可以極大地提高系統的總體性能。
      
      綜上所述,在擁有DSP的嵌入式平臺上使用CPLD實現改進的圖像增強算法是可行的,對于實時的圖像處理是一種高效的解決方法。
      
      
      
      

    【用CPLD實現嵌入式平臺上的實時圖像增強】相關文章:

    用CPLD實現嵌入式平臺上的實時圖像增強08-06

    基于32位嵌入式系統的實時圖像采集模塊08-06

    基于PCI總線的嵌入式實時DSP圖像采集系統08-06

    一個嵌入式系統的Petri網模型與CPLD實現08-06

    用CPLD實現單片機讀寫模塊08-06

    實時混音的實現?08-06

    用CPLD實現DSP與PLX9054之間的連接08-06

    DMA在實時圖像處理中的應用08-06

    用CPLD實現單片機與ISA總線接口的并行通信08-06

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      最新2021久久精品 | 亚洲v国产v天堂v | 好吊妞国产欧美日韩免费观看在线播放 | 亚洲中文字幕2019 | 中文字幕永久在线中文免费 | 一区二区国产高清视频在线 |