范秋生
(黃岡職業(yè)技術學院 黃岡 438002)
圖像對于我們并不陌生,它是用各種觀測系統(tǒng)以不同形式和手段觀測客觀世界而獲得的,可以直接或間接作用于人眼并進而產(chǎn)生視覺的實體。圖像包含有大量的信息,因而存儲和處理圖像都不是一件簡單的工作。但是,隨著計算機的誕生和發(fā)展,人們有希望將對圖像的存儲和處理這一繁重的工作借助于計算機來實現(xiàn),從而減輕人們的工作壓力。
人們經(jīng)常要對圖像進行各種加工以改善圖像的視覺效果;或對圖像進行壓縮編碼以減少對其所需存儲空間或傳輸時間的要求;利用圖像處理也能夠修改圖形,改善圖像質量,或是從圖像中提起有效信息,還有利用圖像處理可以對圖像進行體積壓縮,便于傳輸和保存;同時采用各種方法對圖像進行復原和增強;對圖像進行分割、描述和識別等。所以,推動圖像處理技術也有了快速的發(fā)展,各種圖像處理軟件也隨處可見。
1、 旋轉算法
一般的圖像旋轉以圖像的中心為原點,旋轉一定得角度。如圖所示,點(x0,y0)經(jīng)過旋轉 θ 后坐標變成(x1,y1)。
在旋轉前:
旋轉后:
寫成矩陣的表達式為:
其逆運算如下:
如果圖像是繞一個指定點(a,b)旋轉,則先要將坐標系平移到該點,再進行旋轉,然后再平移回新的坐標原點,假定旋轉前的圖像中心坐標是(a,b),旋轉后的中心坐標是(c,d),則旋轉變換矩陣表達式為:
因此:
在上面的轉換公式中,令
其 中 a=lWidth-1/2,b=lHeight-1/2,c=lNewWidth-1/2,d=lNewHeight-1/2,lWidth和lHeight分別為旋轉前圖像的寬度和高度,lNewWidth和lNewHeight分別為旋轉后圖像的寬度和高度。
則可以推導出以圖像中心為旋轉中心點的圖像旋轉坐標[6]即公式為:
在實現(xiàn)左右方向的旋轉時,我們選取角度θ的不同值,使得坐標值得以改變,以實現(xiàn)圖像最終在方向上的旋轉。
2、 壓縮算法
(1)JPEG的壓縮算法
JPEG壓縮算法可以用失真的壓縮方式來處理圖像,但失真的程度卻是肉眼所無法辨認的。這也就是為什么JPEG會有如此滿意的壓縮比例的原因。下面先來討論JPEG基本壓縮法。
JPEG壓縮過程
JPEG壓縮分四個步驟實現(xiàn):
⑴顏色模式轉換及采樣;
⑵DCT變換;
⑶量化;
⑷編碼。
圖3-1 JPEG壓縮過程
①顏色模式轉換及采樣
RGB色彩系統(tǒng)是我們最常用的表示顏色的方式。JPEG采用的是YCbCr色彩系統(tǒng)。通過下列計算公式可完成數(shù)據(jù)轉換。
Y=0.2990R+0.5870G+0.1140B
Cb=-0.1687R-0.3313G+0.5000B+128
Cr=0.5000R-0.4187G-0.0813B+128
JPEG通常有兩種采樣方式:YUV411和YUV422,它們所代表的意義是Y、Cb和Cr三個成份的數(shù)據(jù)取樣比例。
②DCT變換
DCT變換的全稱是離散余弦變換(Discrete Cosine Transform),是指將一組光強數(shù)據(jù)轉換成頻率數(shù)據(jù),以便得知強度變化的情形。
DCT變換公式:
x,y代表圖像數(shù)據(jù)矩陣內某個數(shù)值的坐標位置
f(x,y)代表圖像數(shù)據(jù)矩陣內的數(shù)個數(shù)值
u,v代表DCT變換后矩陣內某個數(shù)值的坐標位置
F(u,v)代表DCT變換后矩陣內的某個數(shù)值
u=0 且 v=0 c(u)c(v)=1/1.414
u>0 或 v>0 c(u)c(v)=1
經(jīng)過DCT變換后的矩陣數(shù)據(jù)自然數(shù)為頻率系數(shù),這些系數(shù)以F(0,0)的值最大,稱為DC,其余的63個頻率系數(shù)則多半是一些接近于0的正負浮點數(shù),一概稱之為AC。
③量化
圖像數(shù)據(jù)轉換為頻率系數(shù)后,還得接受一項量化程序,才能進入編碼階段。量化階段需要兩個8*8矩陣數(shù)據(jù),一個是專門處理亮度的頻率系數(shù),另一個則是針對色度的頻率系數(shù),將頻率系數(shù)除以量化矩陣的值,取得與商數(shù)最近的整數(shù),即完成量化。
④編碼
Huffman編碼無專利權問題,成為JPEG最常用的編碼方式,Huffman編碼通常是以完整的MCU來進行的。編碼時,每個矩陣數(shù)據(jù)的DC值與63個AC值,將分別使用不同的Huffman編碼表,而亮度與色度也需要不同的Huffman編碼表,所以一共需要四個編碼表,才能順利地完成JPEG編碼工作。
實現(xiàn)上述四個步驟,即完成一幅圖像的JPEG壓縮。
目前,針對圖像處理技術的軟件己在市場上亮相,對于圖像處理的初學者和算法研究人員開發(fā)的學習實驗用的系統(tǒng)已成為專業(yè)人士的主要研究課題。希望我所做的探索可為將來的研究開發(fā)提供一些思路和參考,可有所借鑒。
[1]熊江.面向對象的框架設計[J].西南師范大學學報.2003,28(3):249~252
[2]朱彥軍.BMP位圖文件的存儲格式[J].電腦編程技巧與維護.2003,11:56~59
[3]陶勝.JPEG圖像文件格式分析及顯示[J].電腦編程技巧與維護.2001,7:98~100