FPGA與數字圖像處理技術


 


 

數字圖像處理方法的重要性源於兩個主要應用領域:

    • 改善圖像信息以便解釋。

    • 為存儲、傳輸和表示而對圖像數據進行處理,以便於機器自動理解。

圖像處理(image processing):

用計算機對圖像進行分析,以達到所需結果的技術。又稱影像處理。一般指數字圖像處理。數字圖像是指用工業相機、攝像機、掃描儀等設備經過拍攝得到的一個大的二維數組,該數組的元素稱為像素,其值稱為灰度值。圖像處理技術一般包括圖像壓縮,增強和復原,匹配、描述和識別3個部分。

常用方法:

    • 圖像變換:由於圖像陣列很大,直接在空間域中進行處理,涉及計算量很大。因此,往往采用各種圖像變換的方法,如傅立葉變換、沃爾什變換、離散余弦變換等間接處理技術,將空間域的處理轉換為變換域處理,不僅可減少計算量,而且可獲得更有效的處理(如傅立葉變換可在頻域中進行數字濾波處理)。目前新興研究的小波變換在時域和頻域中都具有良好的局部化特性,它在圖像處理中也有着廣泛而有效的應用。

    • 圖像編碼壓縮:圖像編碼壓縮技術可減少描述圖像的數據量(即比特數),以便節省圖像傳輸、處理時間和減少所占用的存儲器容量。壓縮可以在不失真的前提下獲得,也可以在允許的失真條件下進行。編碼是壓縮技術中最重要的方法,它在圖像處理技術中是發展最早且比較成熟的技術。

    • 圖像增強和復原:圖像增強和復原的目的是為了提高圖像的質量,如去除噪聲,提高圖像的清晰度等。圖像增強不考慮圖像降質的原因,突出圖像中所感興趣的部分。如強化圖像高頻分量,可使圖像中物體輪廓清晰,細節明顯;如強化低頻分量可減少圖像中噪聲影響。圖像復原要求對圖像降質的原因有一定的了解,一般講應根據降質過程建立“降質模型”,再采用某種濾波方法,恢復或重建原來的圖像。

    • 圖像分割:圖像分割是數字圖像處理中的關鍵技術之一。圖像分割是將圖像中有意義的特征部分提取出來,其有意義的特征有圖像中的邊緣、區域等,這是進一步進行圖像識別、分析和理解的基礎。雖然目前已研究出不少邊緣提取、區域分割的方法,但還沒有一種普遍適用於各種圖像的有效方法。因此,對圖像分割的研究還在不斷深入之中,是目前圖像處理中研究的熱點之一。

    • 圖像描述:圖像描述是圖像識別和理解的必要前提。作為最簡單的二值圖像可采用其幾何特性描述物體的特性,一般圖像的描述方法采用二維形狀描述,它有邊界描述和區域描述兩類方法。對於特殊的紋理圖像可采用二維紋理特征描述。隨着圖像處理研究的深入發展,已經開始進行三維物體描述的研究,提出了體積描述、表面描述、廣義圓柱體描述等方法。

    • 圖像分類(識別):圖像分類(識別)屬於模式識別的范疇,其主要內容是圖像經過某些預處理(增強、復原、壓縮)后,進行圖像分割和特征提取,從而進行判決分類。圖像分類常采用經典的模式識別方法,有統計模式分類和句法(結構)模式分類,近年來新發展起來的模糊模式識別和人工神經網絡模式分類在圖像識別中也越來越受到重視。

 


 

圖像分類:

在計算機中,按照顏色和灰度的多少可以將圖像分為二值圖像、灰度圖像、索引圖像和真彩色RGB圖像四種基本類型。

二值圖像:

一幅二值圖像的二維矩陣僅由0、1兩個值構成,“0”代表黑色,“1”代白色。由於每一像素(矩陣中每一元素)取值僅有0、1兩種可能,所以計算機中二值圖像的數據類型通常為1個二進制位。二值圖像通常用於文字、線條圖的掃描識別(OCR)和掩膜圖像的存儲。

二值圖像


灰度圖像:

灰度圖像矩陣元素的取值范圍通常為[0,255]。因此其數據類型一般為8位無符號整數的,這就是人們經常提到的256灰度圖像。“0”表示純黑色,“255”表示純白色,中間的數字從小到大表示由黑到白的過渡色。二值圖像可以看成是灰度圖像的一個特例。

 

 灰度圖像 


索引圖像:

索引圖像的文件結構比較復雜,除了存放圖像的二維矩陣外,還包括一個稱之為顏色索引矩陣MAP的二維數組。是一種把像素值直接作為RGB調色板下標的圖像。索引圖像可把像素值“直接映射”為調色板數值。索引圖像一般用於存放色彩要求比較簡單的圖像,如Windows中色彩構成比較簡單的壁紙多采用索引圖像存放,如果圖像的色彩比較復雜,就要用到RGB真彩色圖像。索引圖像細節不在贅述。 

索引圖像


 RGB彩色圖像:

RGB圖像與索引圖像一樣都可以用來表示彩色圖像。與索引圖像一樣,它分別用紅(R)、綠(G)、藍(B)三原色的組合來表示每個像素的顏色。但與索引圖像不同的是,RGB圖像每一個像素的顏色值(由RGB三原色表示)直接存放在圖像矩陣中,由於每一像素的顏色需由R、G、B三個分量來表示,M、N分別表示圖像的行列數,三個M x N的二維矩陣分別表示各個像素的R、G、B三個顏色分量。 


數字圖像空間域處理:

空間域處理分為灰度變換和空間濾波。

灰度變換:

灰度變換是指根據某種目標條件按一定變換關系逐點改變源圖像中每一個像素灰度值的方法。目的是為了改善畫質,使圖像的顯示效果更加清晰。 圖像的灰度變換處理是圖像增強處理技術中的一種非常基礎、直接的空間域圖像處理方法。

變換函數法:

    • 圖像反轉

    • 對數變換

    • 冪律(伽馬)變換

    • 分段線性變換 

灰度變換函數曲線圖

直方圖處理法:

    • 直方圖均衡

    • 直方圖匹配

    • 局部直方圖處理

    • 直方圖統計

matlab直方圖均衡處理


空間濾波:

空間濾波,就是直接在灰度值上,做一些濾波操作。濾波一詞,其實來源於頻域,將某個頻率成分濾除的意思。大部分線性的空間濾波器(比如均值濾波器),是在空間上進行一些灰度值上的操作,這個線性空間濾波器與頻域濾波器有一一對應的關系(比如均值濾波器其本質就是低通濾波器)。

通常分為低通濾波(平滑化)、高通濾波(銳化)。

平滑濾波器:

在空間域上考慮,所指的平滑濾波器,有平均濾波與加權平均濾波兩種形式。

                                                                                             原始圖像                                                                平均濾波

 

加權平均濾波

統計排序濾波器:

統計排序濾波器的運用也廣泛,其是很典型的非線性濾波器。主要包括了,最大值濾波器,最小值濾波器,中央值濾波器等等。這里作為代表的,主要說中央值濾波器,中央值濾波對於去除椒鹽噪聲特別有效。

所謂中央值濾波器,就是將濾波器范圍內的像素的灰度值,進行排序,選出中央值作為這個像素的灰度值。同理可解釋最大值濾波器與最小值濾波器。

原始圖像  

椒鹽噪聲

中值濾波器

銳化濾波器:

所謂的銳化,即是將圖像的細節強調出來。主要算子----拉普拉斯算子。

圖像銳化

圖像頻率域濾波:

所謂的圖像頻率,就是這個圖空間上的灰度變換的快慢。

為什么要在頻率域中進行圖像處理?

可以利用頻率成分和圖像外表之間的對應關系。一 些在空間域表述困難的增強任務,在頻率域中變得非常普通 。

濾波在頻率域更為直觀,它可以解釋空間域濾波的某些性質 。

可以在頻率域指定濾波器,做反變換,然后在空間域使用結果濾波器作為空間域濾波器的指導。

主要變換為傅里葉變換。傅里葉變換是將時域信號分解為不同頻率的正弦信號或余弦函數疊加之和。

 

時域與頻域

頻域濾波器分為:

    • 理想低通濾波器

    • 巴特沃斯低通濾波器

    • 高斯低通濾波器

    • 理想高通濾波器

    • 巴特沃斯高通濾波器

    • 高斯高通濾波器

    • 帶阻濾波器

    • 帶通濾波器

    • 陷波濾波器


其他圖像處理相關:

圖像處理與重建

彩色圖像處理

小波和多分辨率處理

圖像壓縮

    霍夫曼編碼

    Golomb編碼

    算術編碼

    塊變換編碼

    小波編碼

    余弦變換

形態學圖像處理

    腐蝕、膨脹

    邊界提取

    空洞填充

    連通分量的提取

    細化與粗化

圖像分割

    邊緣檢測

    閾值處理

    區域分割

目標識別 


FPGA技術:

一般地,圖像處理大致可以分為低級處理和高級處理:低級處理的數據量大,算法簡單,存在着較大的並行性;高級處理的算法復雜,數據量小。在圖像處理的實現手段上,圖像低級處理階段,利用軟件來實現是一個很耗時的過程,但是利用硬件實現,就可以對大量數據進行並行處理,能夠極大的提高處理速度;而圖像高級處理階段,利用軟件來實現則具有較高的性價比。因此,圖像處理系統中可以利用高速硬件模塊(如FPGA)承擔圖像低級處理任務。這樣對大量圖像數據進行了低級處理,使系統在減少數據傳輸量的同時還極大的提高了實時性能。

通用計算機:

通用計算機是基於馮.諾依曼結構的,通過高級語言(C,C++等)編寫程序代碼,整個執行過程是單指令單數據的串行處理過程,在很多情況下該系統結構上的局限性使它對低級圖像的處理不能夠滿足高速處理的要求,它適合各種圖像處理算法的驗證,適用於一些實時性要求不高的場合。

並行處理機:

在許多場合下,單個CPU不能夠實現實時數據處理的時候,采用多個CPU同時工作的並行處理為解決此問題提供了可能。各國學者在這方面作了大量的工作,並己經研究出多種並行結構和編程語言,它克服了單個處理器串行工作的局限性,提高了系統的性能。雖然對並行處理進行了大量的研究,但這個領域仍不成熟。處理單元負載不均衡,並行算法編程困難,理論上並行處理所應達到的性能和實際性能相比有較大差距。

專用集成電路:

專用集成電路是針對於某一固定算法或應用而專門設計的硬件芯片。許多圖像處理算法采用通用處理器和DSP來實現難以滿足速度需要,而必須采用ASIC來實現,在各種算法實現方案中使用ASIC來實現是最快的。但是,ASIC在實際應用中也有其缺點:ASIC從設計到應用需要較長的時間周期;ASIC因為屬於專用硬件芯片,所以需求數量較少,成本也就非常高;由於ASIC是為專用目的設計的,當設計成型並且流片成功就不能改動,所以在設計中當算法因故需要改變時就要設計者重新設計芯片和硬件電路;當ASIC里存在硬件設計的錯誤時,並且在投入生產前未能發現的話,唯一解決的辦法是把產品回收,而這樣做的后果往往是芯片商付出沉重的經濟代價。ASIC較低的靈活度往往使其局限於非常有限的應用中並容易產生性能瓶頸,因此由ASIC構建的圖像處理系統,缺乏靈活性。

數字信號處理器:

數字信號處理器(DSP),是專門為快速實現各種數字信號處理算法而設計的、具有特殊結構的微處理器,通常使用C語言進行編程,其處理速度可達到2000MIPS,比最快的CPU還快10-50倍。數字信號處理器的內部采用專用硬件實現一些數字信號處理常用的運算,所以它進行這些運算速度非常快,如乘加(MAC)運算只需要一個時鍾周期。但是從根本上來說,DSP只是對某些固定的運算提供硬件優化,其體系仍是串行指令執行系統,並且這些固定優化運算並不能夠滿足眾多算法的需要,這使得它的使用受到限制。

現場可編程門陣列(FPGA):

FPGA器件是當今運用極為廣泛的可編程邏輯器件,也被稱為可編程ASIC。FPGA器件在結構上具有邏輯功能塊排列,可編程的內部連線連接這些功能模塊來實現一定的邏輯功能。FPGA器件的功能由邏輯結構的配置數據決定。工作時,這些配置數據存放在片內的SILAM中。使用SRAM的FPGA器件,在工作前需要從芯片外部加載配置數據,配置數據可以存儲在片外的EPROM或其他存儲體上,設計者可以控制加載過程,在現場修改器件的邏輯功能,即所謂現場編程。利用它用戶不僅可以方便地設計出所需的硬件邏輯,而且可以進行靜態重復編程和動態在系統重配置,使系統的硬件功能可以像軟件一樣編程來修改,從而可以實時地進行靈活而方便的更新和開發,大大提高了系統設計的靈活性和通用性。與此同時,FPGA自身也在迅速發展,其集成度、工作速度不斷提高,包含的資源越來越豐富,可實現的功能也越來越強。


 

FPGA與圖像處理

 FPGA能在設計上實現硬件並行和流水線(pipeline)技術,而這些都不能在DSP上實現。因此,對於實時圖像處理而言,與本質上仍然是依靠串行執行指令來完成相應圖像處理算法的DSP系統相比,FPGA有很強的靈活性,可以根據需要進行重構配置,有較強的通用性,適於模塊化設計;同時其開發周期短,系統易於維護和擴展,適合實時的信號處理,能夠大大提高圖像數據的處理速度,滿足系統的實時性要求,因此采用FPGA器件是個不錯的選擇。


版權所有權歸卿萃科技,轉載請注明出處。

作者:卿萃科技ALIFPGA

原文地址:卿萃科技FPGA極客空間 微信公眾號


 

 掃描二維碼關注卿萃科技FPGA極客空間


 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM