




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第第3章章 圖像的幾何變換圖像的幾何變換 楊淑瑩楊淑瑩 教授教授天津理工大學(xué)天津理工大學(xué) 計算機(jī)與通信工程學(xué)院計算機(jī)與通信工程學(xué)院本章要點:本章要點: 圖像的平移圖像的平移 圖像的鏡像變換圖像的鏡像變換 圖像的縮放圖像的縮放 圖像的轉(zhuǎn)置圖像的轉(zhuǎn)置 圖像的旋轉(zhuǎn)圖像的旋轉(zhuǎn)3.1 3.1 圖像的平移圖像的平移1. 理論基礎(chǔ)理論基礎(chǔ) 圖像平移(Translation)是將圖像中所有的點都按照指定的平移量,進(jìn)行水平、垂直移動。 設(shè)初始坐標(biāo)為(x0,y0)的點 經(jīng)過平移(tx,ty)后 坐標(biāo)變?yōu)?x1,y1)。 1. 1. 理論基礎(chǔ)理論基礎(chǔ) tx 坐標(biāo)原點 (x0,y0) ty (x1,y1) 圖3-1
2、像素平移示意圖 顯然(x0,y0)和(x1,y1)的關(guān)系如下: x1=x0+tx y1=y0+ty2. 2. 理論驗證理論驗證xyy(0,0)(0,0)xy(0,0)3. 流程設(shè)計流程設(shè)計 (1) 取得原圖的數(shù)據(jù)區(qū)指針。(2) 通過對話框輸入偏移量tx,ty。(3) 開辟一個同樣大小的緩沖區(qū)。(4) 對原圖依次循環(huán)每個像素,每讀入一個像素點(x0,y0),根據(jù)它的坐標(biāo),找到目標(biāo)圖像的位置(x1=x0-tx,y1=y0-ty),將像素(x0,y0)處的顏色值賦給新圖中的(x1,y1)。4. 4. 編程實現(xiàn)編程實現(xiàn) for( i = 0; i wide; i+) for(int j = 0; j
3、= 0) & (i0 = 0) & (j0 height) lpDst = (LPBYTE)temp + lLineBytes *(height - 1 - j0) + i0; *lpDst = *lpSrc; else* (unsigned char*)lpDst) = 255; /3.2 圖像的鏡像變換圖像的鏡像變換1 理論基礎(chǔ)理論基礎(chǔ) 圖像的鏡像變換分為兩種:一種是水平鏡像,另一種是垂直鏡像。 圖像的水平鏡像操作是以原圖像的垂直中軸線為中心,將圖像分為左右兩部分進(jìn)行對稱變換; 圖像的垂直鏡像操作是以原圖像的水平中軸線為中心,將圖像分為上下兩部分進(jìn)行對稱變換。 鏡像變換后圖的高和寬都不變。
4、 1.1.理論基礎(chǔ)理論基礎(chǔ)-水平鏡像水平鏡像 設(shè)圖像高度為Height,寬度為Width, 原圖中的(x0,y0)經(jīng)過水平鏡像后, 坐標(biāo)將變成(Width-x0,y0)。即: x1=Width-x0 y1=y01.1.理論基礎(chǔ)理論基礎(chǔ)-垂直垂直鏡像鏡像 點(x0,y0)經(jīng)過垂直鏡像后, 坐標(biāo)將變成為(x0,Height-y0),即: x1=x0 y1=Height-y02 2理論驗證理論驗證 (a)原圖 (b)水平鏡像處理效果圖 (c)垂直鏡像處理效果圖 圖3-2 鏡像處理3. 3. 流程設(shè)計流程設(shè)計 (1) 取得原圖的數(shù)據(jù)區(qū)指針。(2) 開辟一個同樣大小的緩沖區(qū)。(3) 每個像素依次循環(huán)。
5、在水平鏡像中,將原圖中的像素點的水平坐標(biāo)變成鏡像后的坐標(biāo)(用圖像的寬度減去坐標(biāo)值)在顯示到圖像上。 垂直鏡像中,則對垂直坐標(biāo)做相應(yīng)的處理。4.4.編程實現(xiàn)編程實現(xiàn)-水平鏡像水平鏡像for(j = 0; j height; j+) for(i = 0; i wide;i+) lpSrc = (LPBYTE)p_data +wide *j + i; lpDst = (LPBYTE)temp + wide* j+ wide - i; *lpDst = *lpSrc; 4.4.編程實現(xiàn)編程實現(xiàn)-垂直鏡像垂直鏡像for(i = 0; i wide;i+) for(j = 0; j 1且ky1時,原圖像被
6、放大。 放大圖像時,產(chǎn)生了新的像素,可通過插值算法來近似處理。 例如:當(dāng)kx=ky=2時,圖像放大2倍, 原圖中的某一個像素,對應(yīng)新圖的4個像素。 (a)原圖中的某一個像素 (b)對應(yīng)新圖的4個像素 圖3-3 圖像放大示意圖1 1縮小圖像理論基礎(chǔ)縮小圖像理論基礎(chǔ) 當(dāng)kx1且ky1時,原圖像被縮小。 例如,當(dāng)kx=ky=0.5時,圖像被縮到一半大小,原圖中4個像素對應(yīng)新圖中的一個像素。此時縮小后的圖像中的(0,0)像素對應(yīng)于原圖中的(0,0)、(0,1)、(1,0)、(1,1)像素一個; 以此類推。在原圖基礎(chǔ)上,每行隔一個像素取一點,每割一行進(jìn)行操作。如下圖3-4所示。 (a)原圖中的某4個像素
7、 (b)對應(yīng)新圖的1個像素 圖3-4 圖像縮小示意圖 從上可見,放大與縮小的原理不同。2.2. 理論驗證理論驗證 (c)長寬各放大2倍的效果圖 (a)原圖 (b)長寬縮小0.5倍的效果圖 3.3.流程設(shè)計流程設(shè)計 (1) 取得原圖的數(shù)據(jù)區(qū)指針。(2) 通過對話框獲得放大整數(shù)比例:kx,ky。更改圖象的寬度和高度。(3) 每個像素依次循環(huán)。計算該象素在原圖象中的坐標(biāo),將原圖的象素值賦給目標(biāo)象素相應(yīng)位置kx*ky個值。4.4.編程實現(xiàn)編程實現(xiàn)-放大圖像放大圖像 / for(j = 0; j height-1; j+) for(i = 0; i wide-1; i+) lpSrc = (LPBYTE
8、)p_data + wide * j + i;for(int n=0;nk1;n+)for(int m=0;mk2;m+) lpDst = (LPBYTE)temp + newwide *(j*k1+ n) + i*k2+m; *lpDst = *lpSrc;4 4編程實現(xiàn)編程實現(xiàn)-縮小圖像縮小圖像for(j = 0; j newheight-1; j+) for(i = 0; i = 0) & (i0 = 0) & (j0 height) lpSrc = (LPBYTE)p_data + wide * j0 + i0;*lpDst = *lpSrc; else *lpDst = 255; 小
9、結(jié) 本章主要介紹了圖象的預(yù)處理中最基本的幾何變換處理,包括圖像的平移、圖像的鏡像變換、圖像的縮放、圖像的轉(zhuǎn)置、圖像的旋轉(zhuǎn)。這些是進(jìn)行圖象幾何校正的基本方法。第三章第三章 圖像的幾何變換圖像的幾何變換 (第二講)(第二講)本章編程關(guān)鍵點本章編程關(guān)鍵點n開辟新的目標(biāo)圖像內(nèi)存空間。開辟新的目標(biāo)圖像內(nèi)存空間。n計算目標(biāo)圖像或原圖像的位置。計算目標(biāo)圖像或原圖像的位置。n將原圖像的像素值賦給目標(biāo)區(qū)將原圖像的像素值賦給目標(biāo)區(qū)域的位置。域的位置。3.3 3.3 圖像的鏡像變換圖像的鏡像變換水平鏡像:水平鏡像:垂直中軸線為中心,將圖像分為垂直中軸線為中心,將圖像分為左右兩部分;左右兩部分;垂直鏡像:垂直鏡像:水
10、平中軸線為中心,將圖像分為水平中軸線為中心,將圖像分為上下兩部分。上下兩部分。 鏡像變換后圖的鏡像變換后圖的高和寬都不變高和寬都不變。 x1=Width-x0 x1=Width-x0y1=y0y1=y0圖像水平鏡像變換圖像水平鏡像變換110001001100yxfWidthyx x1=x0 x1=x0 y1=Height-y0y1=Height-y0110010001100yxfHeightyx圖像垂直鏡像變換圖像垂直鏡像變換(1)(1)取得原圖的數(shù)據(jù)區(qū)指針。取得原圖的數(shù)據(jù)區(qū)指針。(2)(2)開辟一個同樣大小的緩沖區(qū)。開辟一個同樣大小的緩沖區(qū)。(3)(3)每個像素依次循環(huán):每個像素依次循環(huán):水
11、平鏡像:用圖像的寬度減去原像素的坐標(biāo)值。水平鏡像:用圖像的寬度減去原像素的坐標(biāo)值。垂直鏡像:用圖像的高度減去原像素的坐標(biāo)值。垂直鏡像:用圖像的高度減去原像素的坐標(biāo)值。將像素(將像素(x0,y0 x0,y0)處的顏色值賦給新圖中的)處的顏色值賦給新圖中的(x1,y1x1,y1)實現(xiàn)步驟實現(xiàn)步驟for(j = 0; j height; j+) for(i = 0; i wide;i+) lpSrc = (LPBYTE)p_data +wide *j + i;lpDst = (LPBYTE)temp + wide* j+ wide - i; *lpDst = *lpSrc; 水平鏡像程序代碼水平鏡像
12、程序代碼 for(i = 0; i wide;i+)for(j = 0; j height; j+)lpSrc = (LPBYTE)p_data + wide * j+i;lpDst = (LPBYTE)temp + wide * (height - j - 1)+i;*lpDst = *lpSrc;垂直鏡像程序代碼垂直鏡像程序代碼效果對比圖效果對比圖3.4 3.4 圖像的轉(zhuǎn)置圖像的轉(zhuǎn)置 將圖像像素的將圖像像素的x x坐標(biāo)和坐標(biāo)和y y坐標(biāo)坐標(biāo)互換互換。將。將改變改變圖像的高度和寬圖像的高度和寬度,轉(zhuǎn)置后圖像的度,轉(zhuǎn)置后圖像的高度和寬度高度和寬度將互換將互換。 x1=y0 x1=y0 y1=x
13、0y1=x0lpSrc = (LPBYTE)p_data+ lpSrc = (LPBYTE)p_data+ lLineBytes lLineBytes * * j + i; j + i;lpDst = (LPBYTE)temp + lpDst = (LPBYTE)temp + lNewLineBytes lNewLineBytes* * i+ j; i+ j;程序代碼程序代碼圖像轉(zhuǎn)置圖像轉(zhuǎn)置效果對比圖效果對比圖3.5 圖像的旋轉(zhuǎn) 必須指明圖像繞著什么旋必須指明圖像繞著什么旋轉(zhuǎn)。一般圖像的旋轉(zhuǎn)是以圖轉(zhuǎn)。一般圖像的旋轉(zhuǎn)是以圖像的像的中心為原點中心為原點,旋轉(zhuǎn)一定,旋轉(zhuǎn)一定的的角度角度。 旋轉(zhuǎn)后,一
14、般會旋轉(zhuǎn)后,一般會改變改變圖像圖像的大小。的大小。 11000cossin0sincos100yxyx旋轉(zhuǎn)后:旋轉(zhuǎn)后: x1=x0cos( )+y0sin() y1=-x0sin()+y0cos()圖像旋轉(zhuǎn)圖像旋轉(zhuǎn)for(y1=0;y1Hnew;y1+)for(x1=0;x1=0) & (x0=0) & (y01kx1且且ky1ky1時,原圖像被放大,面時,原圖像被放大,面積增加。積增加。 由于放大圖像時產(chǎn)生了新的像素,由于放大圖像時產(chǎn)生了新的像素,可通過插值算法來近似處理??赏ㄟ^插值算法來近似處理。 當(dāng)當(dāng)kx=ky=2kx=ky=2時,圖像放大時,圖像放大2 2倍,原圖倍,原圖中的某一個像素
15、,對應(yīng)新圖的中的某一個像素,對應(yīng)新圖的4 4個像素。個像素。 圖像放大圖像放大 表表3.11 2 3 42 3 4 05 6 7 76 6 3 3 表表3.21 1 2 2 3 3 4 41 1 2 2 3 3 4 42 2 3 3 4 4 0 02 2 3 3 4 4 0 05 5 6 6 7 7 7 75 5 6 6 7 7 7 76 6 6 6 3 3 3 36 6 6 6 3 3 3 3圖像放大圖像放大 當(dāng)當(dāng)kx1kx1且且ky1ky newimagei*kx+mj*ky+n 放大實現(xiàn)步驟放大實現(xiàn)步驟for(j = 0; j height-1; j+)for(i = 0; i wide
16、-1; i+) lpSrc = (LPBYTE)p_data + wide * j + i;for(int n=0;nk1;n+) for(int m=0;mk2;m+)lpDst = (LPBYTE)temp + newwide *(j*k1+ n) + i*k2+m;*lpDst = *lpSrc;放大程序代碼放大程序代碼n依次循環(huán)每個像素。依次循環(huán)每個像素。n計算該象素在原圖象中的坐標(biāo),計算該象素在原圖象中的坐標(biāo),將原圖的象素值賦給目標(biāo)象素將原圖的象素值賦給目標(biāo)象素相應(yīng)位置。相應(yīng)位置。 newimageij=imagei/yj/y縮小實現(xiàn)步驟縮小實現(xiàn)步驟for(j = 0; j newheight-1; j+)for(i = 0; i = 0) & (i0 = 0) & (j0 height) lpSrc = (LPBYTE)p_data + wide * j0 + i0;*lpDst = *lpSrc; / 復(fù)制象素復(fù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)面源污染治理2025年技術(shù)路徑與政策實施效果評估報告
- 安全規(guī)范試題及答案
- 瑜伽課件培訓(xùn)方案范文
- 工業(yè)互聯(lián)網(wǎng)平臺射頻識別(RFID)技術(shù)在智能工廠生產(chǎn)設(shè)備性能提升策略報告
- 法院執(zhí)行普法培訓(xùn)課件
- 中國南水北調(diào)工程
- 《X射線診斷設(shè)備(第二類)注冊技術(shù)審查》
- 中國剪紙英語教學(xué)課件
- 廣西北海市銀海區(qū)2025屆八年級英語第二學(xué)期期中達(dá)標(biāo)檢測試題含答案
- 感恩教育班會
- 湖北省黃石市基層診所醫(yī)療機(jī)構(gòu)衛(wèi)生院社區(qū)衛(wèi)生服務(wù)中心村衛(wèi)生室信息
- 畢業(yè)離校學(xué)生證遺失證明
- 工傷責(zé)任保險單
- 智慧停車技術(shù)方案
- 《世界經(jīng)濟(jì)史》課程教學(xué)大綱
- 土地整理質(zhì)量評定表
- 【告知牌】某公司全套重大危險源告知牌(7頁)
- 中考數(shù)學(xué)復(fù)習(xí)專題二方程與不等式
- 牛津深圳版七年級下冊英語作文匯總
- 供應(yīng)商管理庫存VMI的實施
- 公司“師帶徒”實施方案
評論
0/150
提交評論