轉自:https://www.cnblogs.com/bnuvincent/p/6691189.html
http://www.cnblogs.com/ghj1976/p/5199086.html
變換模型是指根據待匹配圖像與背景圖像之間幾何畸變的情況,所選擇的能最佳擬合兩幅圖像之間變化的幾何變換模型。可采用的變換模型有如下幾種:剛性變換、仿射變換、透視變換和非線形變換等,如下圖:
參考: http://wenku.baidu.com/view/826a796027d3240c8447ef20.html
其中第三個的仿射變換就是我們這節要討論的。
仿射變換(Affine Transformation)
Affine Transformation是一種二維坐標到二維坐標之間的線性變換,保持二維圖形的“平直性”(譯注:straightness,即變換后直線還是直線不會打彎,圓弧還是圓弧)和“平行性”(譯注:parallelness,其實是指保二維圖形間的相對位置關系不變,平行線還是平行線,相交直線的交角不變。)。
c和d的區別可以看下圖:
仿射變換可以通過一系列的原子變換的復合來實現,包括:平移(Translation)、縮放(Scale)、翻轉(Flip)、旋轉(Rotation)和剪切(Shear)。
仿射變換可以用下面公式表示:
參考:http://wenku.baidu.com/view/826a796027d3240c8447ef20.html
這個矩陣乘法的計算如下:
具體到二維的仿射變換的計算如下:
幾種典型的仿射變換如下:
平移變換 Translation
平移變換是一種“剛體變換”,rigid-body transformation,就是不會產生形變的理想物體。
效果:
縮放變換(Scale)
將每一點的橫坐標放大(縮小)至sx倍,縱坐標放大(縮小)至sy倍,變換矩陣為:
變換效果如下:
剪切變換(Shear)
變換矩陣為:
相當於一個橫向剪切與一個縱向剪切的復合
效果:
旋轉變換(Rotation)
目標圖形圍繞原點順時針旋轉theta弧度,變換矩陣為:
效果:
組合
旋轉變換,目標圖形以(x, y)為軸心順時針旋轉theta弧度,變換矩陣為:
相當於兩次平移變換與一次原點旋轉變換的復合:
先移動到中心節點,然后旋轉,然后再移動回去。
一些常用轉換矩陣如下: