趙宇杰 石海麗 王志全
摘 要:數(shù)字圖像變換是圖像處理和分析技術(shù)的基礎(chǔ)。本文研究數(shù)字圖像空間變換的基本原理及其應(yīng)用,包括用MATLAB實(shí)現(xiàn)數(shù)字圖像的平移、鏡像、旋轉(zhuǎn)和縮放變換。
關(guān)鍵詞:數(shù)字圖像;空間變換;MATLAB
DOI:10.16640/j.cnki.37-1222/t.2016.06.122
1 緒論
圖像是人們認(rèn)識(shí)世界和獲取信息的主要形式。為了有效、快速地對(duì)圖像進(jìn)行處理和分析,往往采用空間變換、傅里葉變換、離散余弦變換等間接處理技術(shù),不僅可減少計(jì)算量,而且可獲得更有效地處理。本文闡述了數(shù)字圖像空間變換的基本原理,并用MATLAB來(lái)實(shí)現(xiàn)數(shù)字圖像的平移、縮放、旋轉(zhuǎn)、鏡像變換,使輸入圖像的像素位置映射到輸出圖像的新位置。
2 數(shù)字圖像的空間變換原理及應(yīng)用
2.1 平移變換原理及應(yīng)用
圖像的平移變換時(shí)圖像幾何變換中最簡(jiǎn)單、最普遍的空間變換之一,是將一幅圖像上的所有像素點(diǎn)都按給定的偏移量沿x方向和y方向進(jìn)行移動(dòng),如開(kāi)學(xué)時(shí)教室里課桌重新擺放等都可以視為平移運(yùn)動(dòng)。若初始坐標(biāo)為(x0,y0)的點(diǎn)經(jīng)過(guò)平移(tx,ty)(以向右、向下為正方向)后,坐標(biāo)變?yōu)椋▁1,y1),且x1=x0+tx,y1= y0+ ty。也可用矩陣形式表示。函數(shù)文件為imtranslateli.m,運(yùn)行結(jié)果如圖1所示。
2.2 鏡像變換原理及應(yīng)用
圖像的鏡像變換不改變圖像的形狀,分為水平鏡像、垂直鏡像和對(duì)角鏡像三種。水平鏡像操作是以圖像的垂直中軸線為中心交換圖像的左右兩個(gè)部分;而垂直鏡像是以圖像的水平中軸線為中心交換圖像的上下兩個(gè)部分。
設(shè)圖像的大小為M×N,(i,j)為原圖像F(i,j)中像素點(diǎn)的坐標(biāo);(i,j)為對(duì)應(yīng)像素點(diǎn)(i,j)水平(垂直、對(duì)角)鏡像變換后圖像H(i,j)中的坐標(biāo)。對(duì)于水平鏡像,i=i,j=N-j+1;對(duì)于垂直鏡像,i=M-i+1,j=j;對(duì)角鏡像操作是將圖像以圖像水平中軸線和垂直中軸線的交點(diǎn)為中心進(jìn)行鏡像對(duì)換,相當(dāng)于先水平鏡像、后垂直鏡像,i=M-i+1,j=N-j+1。以水平鏡像為例,函數(shù)文件為immirrli.m,運(yùn)行結(jié)果如圖2所示。
2.3 旋轉(zhuǎn)變換原理及應(yīng)用
圖像旋轉(zhuǎn)是以圖像中的某一點(diǎn)為原點(diǎn)按逆時(shí)針或順時(shí)針?lè)较蛐D(zhuǎn)一定的角度,是圖像的位置變換,旋轉(zhuǎn)后圖像的大小一般會(huì)改變。與圖像平移變換一樣,在圖像旋轉(zhuǎn)變換中,可以把轉(zhuǎn)出顯示區(qū)域的圖像截去,旋轉(zhuǎn)后也可以擴(kuò)大圖像范圍以顯示所有的圖像。
采用不裁掉轉(zhuǎn)出、部分旋轉(zhuǎn)后圖像放大的做法,首先需要給出變換矩陣。在坐標(biāo)系中,將一個(gè)點(diǎn)順時(shí)針旋轉(zhuǎn)角度a,r為該點(diǎn)到原點(diǎn)的距離,b為r與x軸之間的夾角。在旋轉(zhuǎn)過(guò)程中,r保持不變。設(shè)旋轉(zhuǎn)前(x0,y0)的坐標(biāo)分別為x0=rcosb,y0=rcosb。當(dāng)旋轉(zhuǎn)a角度后,坐標(biāo)(x1,y1)的值分別為
x1=r cos(b-a)=r cos b cos a+r sin bsin a=x0cosa+y0sina
y1=r sin(b-a)=r sin b cos a-r cos b sin a=-x0sin a+y0cosa
指令為imrotate,圖3所示分別為原圖及旋轉(zhuǎn)30度、-45度和60度的效果。
2.4 比例變換原理及應(yīng)用
數(shù)字圖像的比例縮放是指給定的圖像在x方向和y方向按相同的比例縮放a倍,從而獲得一幅新圖像,又稱全比例縮放。若x方向和y方向縮放的比例不同,則圖像的比例縮放會(huì)改變?cè)紙D像像素間的相對(duì)位置,產(chǎn)生幾何畸變。假設(shè)原始圖像中的點(diǎn)A0(x0,y0)比例縮放后,在新圖像中的對(duì)應(yīng)點(diǎn)為A1(x1,y1),則x1=ax0,y1=ay0。若a >1,則圖像被放大;若a <1,則圖像被縮小。指令為imresize,運(yùn)行結(jié)果如圖4所示。
3 結(jié)論
本文描述了數(shù)字圖像空間變換的基本原理,通過(guò)MATLAB程序?qū)崿F(xiàn)了在空間域中實(shí)現(xiàn)對(duì)數(shù)字圖像的平移、縮放、鏡像及旋轉(zhuǎn)變換,調(diào)整圖像的位置。優(yōu)點(diǎn)是改變圖像的大小和位置,進(jìn)行圖像校正、圖像匹配、圖像變形處理。
參考文獻(xiàn):
[1]孔大力,崔洋.數(shù)字圖像處理技術(shù)的研究現(xiàn)狀與發(fā)展方向[J].山東水利職業(yè)學(xué)院院刊,2012(04):11-14.
[2]趙小川,何灝,繆遠(yuǎn)誠(chéng).MATLAB數(shù)字圖像處理實(shí)踐[M].北京:機(jī)械工業(yè)出版社,2013:42-75.
[3]杜廷娜.圖像空間變換及MATLAB實(shí)現(xiàn)[J].鞍山科技大學(xué)學(xué)報(bào),2007,30(04):369-376.
[4]陳懷琛,吳大正,高西全.MATLAB就在電子信息課程中的應(yīng)用[M].北京:電子工業(yè)出版社,2013:81-97.
作者簡(jiǎn)介:趙宇杰(1983-),女,甘肅景泰人,碩士,副教授,研究方向:電子線路、通信與信號(hào)。