画像処理のためにアフィン変換(Affine Transform)のパラメータを決める

アフィン変換のパラメータを決定する方法をめもっておく.

以下のような形になっているのが、アフィン変換.

パラメータは全部で6つ(a,b,c,d,e,f)ある.

affiine.JPG

画像処理とかするときには、パラメータをどう設定するか分かりにくいので、ここにまとめておく.

Affine変換のいいところ

Affine変換のいいところは、複数の行列掛け合わせればその効果を得ることができる点.

回転させて移動させたかったら、行列で「回転させる行列」と「移動する行列」を順番に掛ければそのようになる.

なので一つの行列で全て計算しておく必要はない.複数の行列を掛け合わせればそれを達成することができる.

移動させたいだけ

Affine変換で移動させるには、cとfの値を移動させたいだけ変えればよい.

translate.JPG

回転させたいだけ

a,b,d,eを回転行列の形式にすればよいので、以下のような値になるように設定する

rotate.JPG

拡大縮小させたいだけ

a,dの値をスケールさせたい値に設定すればよい.簡単

scale.JPG

せん断させたいだけ

x方向にせん断させるかy方向にせん断させるには以下のように設定する.θはどの程度傾けるかの値を決める.

sendan.JPG

せん断をすると以下のように変換される.

yshear.JPG

xshear.JPG

 

組み合わせていろいろさせたいだけ

上記の行列を掛け合わせれば、やりたいいろいろな変換が可能.

 

About the author

コメントを残す