画像を四角形に変形するプログラム(6) 7連×2方程式による変形 | 技術日誌

技術日誌

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

 画像を歪んだ四角形に変形するのに,これまで変換式のU×Vの項をべき乗してみましたが各辺の曲がりが直りませんでした。それには,四角形の4つの頂点が対応するように連立方程式を解いていました。各辺の中央も変形前と後で対応するようにすればかなり直線的になるだろうと思うようになりました。以前にu=aU+bU^2+cUV+dU^2V+eUV^2+fV+gV^2,v=iU+jU^2+kUV+lU^2V+mUV^2+nV+oV^2の変換式のプログラムを作りました。変換がうまく行きませんでした。必要な有効数字が大きくなりすぎたためだと思っていました。しかし,今回見直した結果,バグを見つけました。変形させるプログラムの前に変形を補正するプログラムを作ってありました。それを改変させて変形させるプログラムを完成させました。その時,変形させるプログラムでは外すべき処理が残ったままになっていました。これを修正し,画像を変形させたところ,変形後の四角形の各辺の直線からのずれは非常に小さくなり,実用上問題ない程度になりました。これによる変形後の画像を下に示します。4辺はほぼ直線的になっていることがわかります。