画像を四角形に変形するプログラム | 技術日誌

技術日誌

ここでは,電子工作,木工などの趣味での記録を書いています。
なお当初はKMK研究所のメインテーマであるSPSのノウハウを書いてきましたが,順次SPSノウハウのページに複製を作っていきます。

 テレビに,ある画像が写っている画像を作りたいと思いました。テレビ画面は斜めから見たところを想定しています。そこに,ある画像をはめ込むにはその画像をテレビ画面の形に変形しなければなりません。そこでそのためのプログラムを作りました。広めの白地の空画像を用意し,そこに変形させる画像を貼り付けました。画像の範囲をプログラムに知らせるため,画像の左下と右上に1ピクセルの純緑の点を打ちました。その外側に歪ませる四角形の形を示す印4点を1ピクセルの赤で打ちました。下の画像では,このブログで見えるよう,赤点の周りを灰色で示しました。

 

 変形はx=aX+bXY+cY,y=iX+jXY+kYの式を用いました。X,Yは変形先の座標,x,yは元画像の座標です。赤の4点と緑の座標に関して4連の連立方程式を解くことでa, b, c, i, j, kを求め,その変形式で座標変換しました。その結果が下の画像です。元画像の4隅が指定した4点になるよう歪まされたことが分かります。ただ,画像の各辺が曲線になってしまったことが気になります。今後その対策を考えたいと思います。変形の式を再検討する必要があると思います。