1. 程式人生 > >【計算機視覺】【影象處理】幾何變換之仿射變換(平移、縮放、旋轉)

【計算機視覺】【影象處理】幾何變換之仿射變換(平移、縮放、旋轉)

1.概念詞語

1)影象的幾何變換

    對影象進行放大、縮小、旋轉等操作,會改變原圖中各區域的空間關係,這類操作就是影象的幾何變換。

2)仿射變換

    對原來的x和y座標分別進行線性的幾何變換,得到新的x和y,這種變換就是放射變換。


3)投影變換

4)極座標變換

5)齊次座標

    在原座標的基礎上,引入第三個數值為1的座標,這種表示方法就是齊次座標。

6)仿射變換矩陣

    仿射變換矩陣的最後一行均為(0,0,1)此形式,最後一個值為1。

2.平移

    影象平移時,不改變影象的大小,只是改變了影象的位置。影象從一個地方平移到另外一個地方,可以表示為原影象上的座標點(x,y)畫素,移動到了新的座標點(x', y')畫素,量化平移的距離後,可以得到:

    x' = x + Δx

    y' = y + Δy

    可以知道,如果Δx>0,表示影象沿x軸正方向移動;如果Δx<0,表示影象沿x軸負方向移動。

    可以知道,如果Δy>0,表示影象沿y軸正方向移動;如果Δy<0,表示影象沿y軸負方向移動。

    在齊次座標表示該平移變換過程,如下矩陣形式所示:

    

3.以(0,0)為中心進行放大和縮小

    這裡的放大和縮小不是指在物理空間中某一物體的放大和縮小。

    二維空間座標(x, y)以(0,0)為中心,在水平上縮放Sx倍,指的是變換後的座標位置(x',y')離(0,0)的水平距離變為原座標(x,y)離位置中心點的水平距離的Sx倍;在垂直方向上縮放Sy倍,指的是變換後的座標位置(x',y')離(0,0)的垂直距離為原座標(x,y)離位置中心的垂直距離的Sy倍。

    用數學公式表示,(x', 'y) = (Sx * x, Sy * y)

    如果Sx>1,則表示在水平方向上放大;如果0<Sx<1,則表示在水平方向上縮小。

    如果Sy>1,則表示在垂直方向上放大;如果0<Sy<1,則表示在垂直方向上縮小。

    齊次座標的放大和縮小變換過程,可以用如下矩陣形式表示:


4.以(x0,y0)為中心的放大和縮小

    以(0,0)為中心的放大和縮小,很容易理解。而以(x0,y0)為中心的放大和縮小,直接來理解比較苦難。但是可以用分解步驟的思想來進行理解,可以變得簡單一些。

    以(x0,y0)為中心的縮放(x,y)=先將原點(0,0)移動到中心點(x0,y0)--->以新原點為中心點進行縮放--->然後再移回座標原點。

5.等比例縮放

    在上面放大和縮小的公式中,如果Sx==Sy,則表示是等比例縮放。