【數字圖像處理】第4章 圖像的幾何變換

4 圖像的幾何變換



圖像的幾何變換
圖像的幾何變換包括了圖像的形狀變換和圖像的位置變換
圖像的形狀變換是指圖像的放大、縮小與錯切
圖像的位置變換是指圖像的平移、鏡像與旋轉
圖像的仿射變換是採用通用的數學影射變換公式,來表示幾何變換。
圖像的幾何變換不改變像素的值,只改變像素的位置。

(一)圖像的位置變換

所謂圖像的位置變換是指圖像的大小和形狀不發生變化,只是將圖像進行平移鏡像旋轉
圖像的位置變換主要是用於目標識別中的目標配準。

1)圖像的平移

在這裏插入圖片描述

2)圖像的鏡像

在這裏插入圖片描述

3)圖像的旋轉

圖像的旋轉計算公式如下:
x1=x0cos(a)y0sin(a);x_1=x_0cos(a)-y_0sin(a);
y1=x0sin(a)+y0cos(a);y_1=x_0sin(a)+y_0cos(a);
在這裏插入圖片描述

  • 這個計算公式計算出的值爲小數,而座標值爲正整數。
  • 這個計算公式計算的結果值所在範圍與原來的值所在的範圍不同。
  • 因此需要前期處理:擴大畫布,取整處理,平移處理

圖像旋轉之前,爲了避免信息的丟失,畫布的擴大是最重要的。

畫布擴大的原則是:以最小的面積承載全部的畫面信息。

在這裏插入圖片描述
在這裏插入圖片描述


圖像旋轉後處理

  • 旋轉後的隱含問題分析
    圖像旋轉之後,出現了兩個問題:
    1)像素的排列不是完全按照原有的相鄰關係。這是因爲相鄰像素之間只能有8個方向(相鄰爲45度),如下圖所示。
    2)會出現許多的空洞點。
    在這裏插入圖片描述
  • 解決問題的思路
    出現問題的核心是像素之間的連接是不連續的。
    相鄰像素的角度是無法改變的,所以只能通過增加分辨率的方法來從整體上解決這個問題。
    採用某種填補方法來填充空洞。
  • 插值
    最簡單的方法是行插值(列插值)方法。
    1)找出當前行的最小和最大的非背景點的座標,記作:(i,k1)(i,k_1)(i,k2)(i,k_2)。如下圖有:
    (1,3)、(1,3); (2,1)、(2,4);
    (3,2)、(3,4); (4,2)、(4,3)。
    2)在(k1,k2)(k_1,k_2)範圍內進行插值,插值的方法是:
    空點的像素值等於前一點的像素值。
    3)同樣的操作重複到所有行。
    • 經過插值處理之後,圖像效果就變得自然。
    在這裏插入圖片描述

圖像的旋轉——反變換
反變換方法就是從新圖形的像素座標反過來計算對應原圖像座標點的座標。旋轉角度aaa→-a
即將圖像的旋轉計算公式改寫:
x1=x0cos(a)y0sin(a);x_1=x_0cos(a)-y_0sin(a);
y1=x0sin(a)+y0cos(a);y_1=x_0sin(a)+y_0cos(a);
改寫爲
x0=x1cos(a)+y1sin(a);x_0=x_1cos(a)+y_1sin(a);
y0=x1sin(a)+y1cos(a);y_0=-x_1sin(a)+y_1cos(a);

(二)圖像的形狀變換

圖像的形狀變換主要是指圖像的縮小放大錯切。 通常在目標物識別中使用

1)圖像縮小

分爲按 比例縮小 和 不按比例縮小 兩種。
圖像縮小之後,因爲承載的信息量小了,所以畫布可相應縮小.

方法1:基於像素採樣的圖像縮小方法
圖像縮小實際上就是對原有的多個數據進行挑選或處理,獲得期望縮小尺寸的數據,並且儘量保持原有的特徵不丟失。
最簡單的方法就是等間隔地選取數據。
在這裏插入圖片描述
實現方法
設原圖像大小爲MNM*N,縮小爲k1Mk2Nk_1M*k_2N,(k1<1k_1<1k2<1k_2<1)。算法步驟如下:
1)設原圖爲F(x,y)x=1,2,,M,y=1,2,,N.F(x,y),x=1,2,…,M, y=1,2,…,N. 壓縮後圖像是G(i,j),i=1,2,,k1M,j=1,2,,k2N.G(i,j), i=1,2,…,k_1M, j=1,2,…,k_2N.
2)G(i,j)=F(c1i,c2j)G(i,j)=F(c_1*i,c_2*j) 其中,c1=1k1,c2=1k2c_1=\frac{1}{k_1}, c_2=\frac{1}{k_2}
在這裏插入圖片描述
方法2:基於局部均值的圖像縮小方法
在這裏插入圖片描述

2)圖像放大

圖像放大從字面上看,是圖像縮小的逆操作,但從信息處理的角度來看,則難易程度完全不一樣。
圖像縮小是從多個信息中選出所需要的信息,而圖像放大則是需要對多出的空位填入適當的值,是信息的估計。

方法1:基於像素填充的圖像放大方法
在這裏插入圖片描述
實現方法
設原圖像大小爲MNM*N,放大爲k1Mk2Nk_1M*k_2N,(k1>1k_1>1k2>1k_2>1)。算法步驟如下:
1)設舊圖像是F(x,y)x=1,2,,M,y=1,2,,N.F(x,y),x=1,2,…,M, y=1,2,…,N. 新圖像G(i,j),i=1,2,,k1M,j=1,2,,k2N.G(i,j), i=1,2,…,k_1M, j=1,2,…,k_2N.
2)G(i,j)=F(c1i,c2j)G(i,j)=F(c_1*i,c_2*j) 其中,c1=1k1,c2=1k2c_1=\frac{1}{k_1}, c_2=\frac{1}{k_2}
在這裏插入圖片描述
方法2:基於雙線性插值的圖像放大方法
在這裏插入圖片描述

(三)圖像的仿射變換

圖像仿射變換提出的意義是採用通用的數學影射變換公式,來表示前面給出的幾何變換。
爲了適應平移,提出了齊次座標的概念。

齊次座標
原座標爲 (x,y)(x,y),定義齊次座標爲:wx,wy,w(wx,wy,w)
實質是通過增加一個座標量來解決問題。
在這裏插入圖片描述
通式
在這裏插入圖片描述

圖像幾何變換的表示

在這裏插入圖片描述

bingo~   ✨ 只要還活着,就不會有壞結局,我們仍然在故事的中途

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章