メインページ > 画像処理
画像の拡大縮小、回転、平行移動などをまとめて3×3の行列を使って変換する事をアフィン変換と呼びます。
変換前の座標を(x, y) 変換後の座標を(x',y')
とすると、アフィン変換では

のように実質的には2行3列の行列を使って変換します。
変換前の画像を以下のようにすると、

拡大縮小X軸方向の拡大率をSx、Y軸方向の拡大率をSyとすると拡大縮小のアフィン変換は

と表されます。
例)X軸方向に2倍
 
例)Y軸方向に2倍
 
例)X軸、Y軸方向に2倍
 
例)Y軸方向に-1倍   このように、ある軸(上記の例ではX軸)に対して反転する処理の事を鏡映と呼びます。
平行移動X軸方向にTx、Y軸方向にTyだけ移動するアフィン変換は

のように表されます。

回転原点を中心に反時計回りにθ°回転する時のアフィン変換は

のように表されます。 
スキュー(せん断)四角形の画像を平行四辺形に変形する処理をスキューまたはせん断といいます。 このアフィン変換は
 
 
注意点アフィン変換では任意の3×3(2×3)の行列で表す事ができるので、任意形状に変換できそうにも思えるのですが、四角形が平行四辺形にまでは変形できるものの、台形には変形できないのでご注意願います。 この台形に変形できる処理は射影変換(ホモグラフィ)と呼びます。

また、実際に画像データをアフィン変換にて変換する場合は、アフィン変換の行列の式の両辺に3×3の逆行列を掛け、変換前の座標(x, y)と変換後の座標(x',y')を逆にして、変換後の座標から変換前の座標を求めます。

このようにして変換すると、変換前の座標は1で割り切れない座標になる場合があるので、biLinear、biCubicなどの補間処理をして、座標と座標の間の輝度値を求めます。 (参考) 画素の補間(Nearest neighbor,Bilinear,Bicubic) 画像の回転
Loading...
|