圖像的幾何變換_第1頁
圖像的幾何變換_第2頁
圖像的幾何變換_第3頁
圖像的幾何變換_第4頁
圖像的幾何變換_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

多媒體通信 第6章圖像的幾何變換 幾何變換基礎(chǔ)圖像比例縮放圖像平移圖像鏡像圖像旋轉(zhuǎn)灰度插值 1 幾何變換基礎(chǔ) 圖像的幾何變換 是指使用戶獲得或設(shè)計(jì)的原始圖像 按照需要產(chǎn)生大小 形狀和位置的變化 從圖像類型來分 圖像的幾何變換有 二維平面圖像的幾何變換 三維圖像的幾何變換 三維向二維平面投影變換等 從圖像的性質(zhì)分 圖像的幾何變換有 平移 比例縮放 旋轉(zhuǎn) 反射和錯(cuò)切等基本變換 透視變換和復(fù)合變換 插值運(yùn)算等 1 幾何變換基礎(chǔ) 圖像的幾何變換是通過改變圖像中物體 像素 之間的空間關(guān)系的過程 圖像的幾何變換可以看成將各像素在圖像內(nèi)移動(dòng)的過程 其定義為 其中 f x y 表示輸入圖像 g x y 表示輸出圖像 a x y 和b x y 表示空間變換 幾何變換改變的是圖像中各物體之間的空間關(guān)系 其效果正如在一塊橡皮板上畫圖 拉伸該橡皮板 并在不同的點(diǎn)固定該橡皮板 1 幾何變換基礎(chǔ) 一個(gè)幾何變換需要兩個(gè)獨(dú)立的算法 1 需要一個(gè)算法來定義空間變換本身 用它描述每個(gè)像素如何從其初始位置 移動(dòng) 到終止位置 即每個(gè)像素的 運(yùn)動(dòng) 如平移 縮放 旋轉(zhuǎn)等 2 還需要一個(gè)用于灰度插值的算法 這是因?yàn)?在一般情況下 輸入圖像的位置坐標(biāo) x y 為整數(shù) 而輸出圖像的位置坐標(biāo)為非整數(shù) 反過來也是如此 1 幾何變換基礎(chǔ) 幾何變換常用于攝象機(jī)的幾何校正過程 這對(duì)于利用圖像進(jìn)行幾何測(cè)量的工作是十分重要的 如 仿射變換 AffineTransformation 它屬于射影幾何變換 多用于圖像配準(zhǔn) ImageRegistration 作為比較或匹配的預(yù)處理過程 圖像卷繞 ImageWarping 即用控制點(diǎn)控制變換過程 通過插值運(yùn)算 將一幅圖像逐漸變化到另一幅圖像的圖像變形 Morphing 過程是其典型的應(yīng)用 多見于影視特技及廣告的制作 1 1齊次坐標(biāo) 設(shè)點(diǎn)P0 x0 y0 進(jìn)行平移后 移到P x y 其中x方向的平移量為 x y方向的平移量為 y 那么 點(diǎn)P x y 的坐標(biāo)為 這個(gè)變換用矩陣的形式可以表示為 1 1齊次坐標(biāo) 點(diǎn)的平移 1 1齊次坐標(biāo) 而平面上點(diǎn)的變換矩陣中沒有引入平移常量 無論a b c d取什么值 都不能實(shí)現(xiàn)上述的平移變換 因此 需要使用2 3階變換矩陣 取其形式為 1 1齊次坐標(biāo) 為了運(yùn)算方便 通常將2 3階矩陣擴(kuò)充為3 3階矩陣 以拓寬功能 P x y 按照3X3的變換矩陣T平移結(jié)果為 1 1齊次坐標(biāo) 這種用n 1維向量表示n維向量的方法稱為齊次坐標(biāo)表示法 因此 2D圖像中的點(diǎn)坐標(biāo) x y 通常表示成齊次坐標(biāo) Hx Hy H 其中H表示非零的任意實(shí)數(shù) 當(dāng)H 1時(shí) 則 x y 1 就稱為點(diǎn) x y 的規(guī)范化齊次坐標(biāo) 由點(diǎn)的齊次坐標(biāo) Hx Hy H 求點(diǎn)的規(guī)范化齊次坐標(biāo) x y 1 可按如下公式進(jìn)行 1 2二維圖像幾何變換的矩陣 利用齊次坐標(biāo)及改成3 3階形式的變換矩陣 實(shí)現(xiàn)2D圖像幾何變換的基本變換的一般過程是 將2 n階的二維點(diǎn)集矩陣表示成齊次坐標(biāo)的形式 然后乘以相應(yīng)的變換矩陣即可完成 1 2二維圖像幾何變換的矩陣 引入齊次坐標(biāo)后 表示2D圖像幾何變換的3 3矩陣的功能就完善了 可以用它完成2D圖像的各種幾何變換 下面討論3 3階變換矩陣中各元素在變換中的功能 幾何變換的3 3矩陣的一般形式為 1 2二維圖像幾何變換的矩陣 其中 這一子矩陣可使圖像實(shí)現(xiàn)恒等比例 反射 或鏡像 錯(cuò)切和旋轉(zhuǎn)變換 lm 這一行矩陣可以使圖像實(shí)現(xiàn)透視變換 但當(dāng)l 0 m 0時(shí)它無透視作用 pq T這一列矩陣可以使圖像實(shí)現(xiàn)平移變換 s 這一元素可以使圖像實(shí)現(xiàn)全比例變換 2 圖像比例縮放 比例縮放前后兩點(diǎn)P0 x0 y0 P x y 之間的關(guān)系用矩陣形式可以表示為 其中fx fy 1為放大 fx fy 1為縮小 2 圖像比例縮放 2 圖像比例縮放 比例縮放所產(chǎn)生的圖像中的像素可能在原圖像中找不到相應(yīng)的像素點(diǎn) 這樣就必須進(jìn)行插值處理 插值處理常用的方法有兩種 一種是直接賦值為和它最相近的像素值 另一種是通過一些插值算法來計(jì)算相應(yīng)的像素值 前一種方法計(jì)算簡(jiǎn)單 但會(huì)出現(xiàn)馬賽克現(xiàn)象 后者處理效果要好些 但是運(yùn)算量也相應(yīng)增加 在下面的算法中直接采用了前一種做法 實(shí)際上 這也是一種插值算法 稱為最鄰近插值法 NearestNeighborInterpolation 2 圖像比例縮放 最簡(jiǎn)單的比例縮小是當(dāng)fx fy 1 2時(shí) 圖像被縮到一半大小 此時(shí)縮小后圖像中的 0 0 像素對(duì)應(yīng)于原圖像中的 0 0 像素 0 1 像素對(duì)應(yīng)于原圖像中的 0 2 像素 1 0 像素對(duì)應(yīng)于原圖像中的 2 0 像素 依此類推 圖像縮小之后 因?yàn)槌休d的信息量小了 所以畫布可相應(yīng)縮小 此時(shí) 只需在原圖像基礎(chǔ)上 每行隔一個(gè)像素取一點(diǎn) 每隔一行進(jìn)行操作 即取原圖的偶 奇 數(shù)行和偶 奇 數(shù)列構(gòu)成新的圖像 如下圖所示 如果圖像按任意比例縮小 則需要計(jì)算選擇的行和列 2 圖像比例縮放 圖像縮小一半 2 圖像比例縮放 如果M N大小的原圖像F x y 縮小為kM kN大小 k 1 的新圖像I x y 時(shí) 則 I x y F int c x int c y 其中 c 1 k 由此公式可以構(gòu)造出新圖像 如下圖所示 2 圖像比例縮放 當(dāng)fx fy fx fy 0 時(shí) 圖像不按比例縮小 這種操作因?yàn)樵趚方向和y方向的縮小比例不同 一定會(huì)帶來圖像的幾何畸變 圖像不按比例縮小的方法是 如果M N大小的舊圖F x y 縮小為k1M k2N k1 1 k2 1 大小的新圖像I x y 時(shí) 則I x y F int c1 x int c2 y 2 圖像比例縮放 在圖像的放大操作中 需要對(duì)尺寸放大后所多出來的空格填入適當(dāng)?shù)南袼刂?這是信息的估計(jì)問題 所以較圖像的縮小要難一些 當(dāng)fx fy 2時(shí) 圖像被按全比例放大2倍 放大后圖像中的 0 0 像素對(duì)應(yīng)于原圖中的 0 0 像素 0 1 像素對(duì)應(yīng)于原圖中的 0 0 5 像素 該像素不存在 可以近似為 0 0 也可以近似 0 1 0 2 像素對(duì)應(yīng)于原圖像中的 0 1 像素 1 0 像素對(duì)應(yīng)于原圖中的 0 5 0 它的像素值近似于 0 0 或 1 0 像素 2 0 像素對(duì)應(yīng)于原圖中的 1 0 像素 依此類推 其實(shí)這是將原圖像每行中的像素重復(fù)取值一遍 然后每行重復(fù)一次 2 圖像比例縮放 放大前的圖像按最近鄰域法放大兩倍按插值法放大兩倍 2 圖像比例縮放 一般地 按比例將原圖像放大k倍時(shí) 如果按照最近鄰域法則需要將一個(gè)像素值添在新圖像的k k的子塊中 顯然 如果放大倍數(shù)太大 按照這種方法處理會(huì)出現(xiàn)馬賽克效應(yīng) 當(dāng)fx fy fx fy 0 時(shí) 圖像在x方向和y方向不按比例放大 此時(shí) 這種操作由于x方向和y方向的放大倍數(shù)不同 一定帶來圖像的幾何畸變 為了提高幾何變換后的圖像質(zhì)量 常采用線性插值法 該方法的原理是 當(dāng)求出的分?jǐn)?shù)地址與像素點(diǎn)不一致時(shí) 求出周圍四個(gè)像素點(diǎn)的距離比 根據(jù)該比率 由四個(gè)鄰域的像素灰度值進(jìn)行線性插值 如下圖所示 2 圖像比例縮放 線性插值法示意圖 2 圖像比例縮放 簡(jiǎn)化后的灰度值計(jì)算式如下 g x y 1 q 1 p g x y p g x 1 y q 1 p g x y 1 p g x 1 y 1 式中 g x y 為坐標(biāo) x y 處的灰度值 x y 分別為不大于x y的整數(shù) 關(guān)于這個(gè)問題的詳細(xì)算法及其實(shí)現(xiàn)可以參考有關(guān)的參考文獻(xiàn) 3 圖像平移 設(shè)點(diǎn)P0 x0 y0 進(jìn)行平移后 移到P x y 其中x方向的平移量為 x y方向的平移量為 y 那么 點(diǎn)P x y 的坐標(biāo)為 利用齊次坐標(biāo) 變換前后圖像上的點(diǎn)P0 x0 y0 和P x y 之間的關(guān)系可以用如下的矩陣變換表示為 3 圖像平移 圖像平移 4 圖像鏡像 圖像的鏡像變換也可以用矩陣變換表示 設(shè)點(diǎn)P0 x0 y0 進(jìn)行鏡像后的對(duì)應(yīng)點(diǎn)為P x y 圖像高度為fHeight 寬度為fWidth 原圖像中P0 x0 y0 經(jīng)過水平鏡像后坐標(biāo)將變?yōu)?fWidth x0 y0 垂直鏡像后坐標(biāo)將變?yōu)?x0 fHeight y0 矩陣表達(dá)式為 水平鏡像 垂直鏡像 4 圖像鏡像 圖像的鏡像 5 圖像旋轉(zhuǎn) 設(shè)點(diǎn)P0 x0 y0 旋轉(zhuǎn) 角后的對(duì)應(yīng)點(diǎn)為P x y 如下圖所示 5 圖像旋轉(zhuǎn) 寫成矩陣形式 如下 5 圖像旋轉(zhuǎn) 旋轉(zhuǎn)前后點(diǎn)P0 x0 y0 P x y 的坐標(biāo)分別是 矩陣形式 5 圖像旋轉(zhuǎn) 進(jìn)行圖像旋轉(zhuǎn)時(shí)需要注意如下兩點(diǎn) 1 圖像旋轉(zhuǎn)之前 為了避免信息的丟失 一定要有坐標(biāo)平移 2 圖像旋轉(zhuǎn)之后 會(huì)出現(xiàn)許多空洞點(diǎn) 對(duì)這些空洞點(diǎn)必須進(jìn)行填充處理 否則畫面效果不好 一般也稱這種操作為插值處理 最簡(jiǎn)單的方法是行插值方法或列插值方法 6 灰度插值 向前映射法 當(dāng)把輸入圖像的灰度一個(gè)一個(gè)像素地轉(zhuǎn)移到輸出圖像中時(shí) 如果一個(gè)輸入像素被映射到四個(gè)輸出像素之間的位置 則其灰度值就按插值算法在四個(gè)輸出像素之間進(jìn)行分配 我們稱之為像素移交 Pixelcarry over 或稱為向前映射法 6 灰度插值 向后映射法 另一種更有效地達(dá)到目的的方法是像素填充 Pixelfilling 或稱為向后映射算法 在這里輸出像素一次一個(gè)地映射回到輸入圖像中 以便確定其灰度級(jí) 如果 個(gè)輸出像素被映射到四個(gè)輸出像素之間 則其灰度值由灰度級(jí)插值決定 向后空間變換是向前變換的逆變換 6 灰度插值 由于許多輸入像素可能映射到輸出圖像的邊界之外 故向前映射算法有些浪費(fèi) 而且 每個(gè)輸出像素的灰度值可能要由許多輸入像素的灰度值來決定 因而要涉及多次計(jì)算 如果空間變換中包括縮小處理 則會(huì)有四個(gè)以上的輸入像素來決定一輸出像素的灰度值 如果含有放大處理 則一些輸出像素可能被漏掉 如果沒有輸入像素被映射到它們附近位置的話 而向后映射算法是逐像素 逐行地產(chǎn)出輸出圖像 每個(gè)像素的灰度級(jí)由最多四個(gè)像素參與的插值所唯一確定 當(dāng)然 這種算法需按空間變換所定義的方式隨機(jī)訪問輸入圖像 因而可能有些復(fù)雜 雖然如此 像素填充法對(duì)一般的應(yīng)用更為切實(shí)可行 6 灰度插值 1 最近鄰插值 NearestNeighborhoodInterpolation NNI 問題 有失真 放大時(shí)只重復(fù)復(fù)制 縮小時(shí)只是扔掉一些象素 6 灰度插值 2 線性插值 LinearInterpolation 已知x1 x2處灰度g1 g2 求x3處灰度g3 6 灰度插值 3 雙線性插值 LinearInterpolation 已知正方形網(wǎng)格上四點(diǎn)灰度 求P點(diǎn)灰度 7 透視投影 把三維物體或?qū)ο筠D(zhuǎn)變?yōu)槎S圖形表示的過程稱為投影變換 根據(jù)視點(diǎn) 投影中心 與投影平面之間距離的不同 投影可分為平行投影和透視投影 透視投影即透視變換 平行投影的視點(diǎn)與投影平面之間的距離為無窮大 而對(duì)透視投影 變換 該距離是有限的 這個(gè)距離決定著透視投影的特性 透視縮小效應(yīng) 即三維物體或?qū)ο笸敢曂队暗拇笮∨c形體到視點(diǎn)的距離成反比 7 透視投影 對(duì)于透視投影 一束平行于投影面的平行線的投影可保持平行 而不平行于投影面的平行線的投影會(huì)聚集到一個(gè)點(diǎn) 這個(gè)點(diǎn)稱為滅點(diǎn) VanishingPoint 滅點(diǎn)可以看作是無限遠(yuǎn)處的一點(diǎn)在投影面上的投影 透視投影的滅點(diǎn)可以有無限多個(gè) 不同方向的平行線在投影面上就能形成不同的滅點(diǎn) 坐標(biāo)軸方向的平行線在投影面上形成的滅點(diǎn)又稱作主滅點(diǎn) 因?yàn)橛衳 y和z三個(gè)坐標(biāo)軸 所以主滅點(diǎn)最多有3個(gè) 透視投影是按主滅點(diǎn)的個(gè)數(shù)來分類的 即按投影面與坐標(biāo)軸的夾角來分類的 可分為一點(diǎn)透視 二點(diǎn)透視和三點(diǎn)透視 7 透視投影 透視變換 a 一點(diǎn)透視 b 二點(diǎn)透視 c 三點(diǎn)透視 7 透視投影 一點(diǎn)透視只有一個(gè)主滅點(diǎn) 即投影面與一個(gè)坐標(biāo)軸正交 與另外兩個(gè)坐標(biāo)軸平行 如前圖 a 所示 進(jìn)行一點(diǎn)透視投影變換 要很好地考慮圖面布局 以避免三維形體或?qū)ο蟮钠矫嬗蚍e聚成直線或直線積聚成點(diǎn)而影響直觀性 具體地說 就是要

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論