OpenCVSharp4で射影変換
射影変換とは
画像平面を任意の3D視点から見直すこと
方法
- 画像の読み込み
- 入力画像の4点を指定
- 出力画像の4点を指定
- 指定した点を対応させる射影変換のパラメータを求める
- 射影変換を行う
射影変換の数式は以下の通り。全部で9個のパラメータがあるが、8自由度である。(分母と分子をで割ればよい)
対応させる4点が長方形の頂点である場合、長方形のアスペクト比(縦横比)を把握していないと正しく変換することができない。
また、今回対応させる4点の座標は、ペイントで求めた。
プログラム
結果
入力画像
出力画像
有名なグリコの看板の四隅を正面向きにした。看板と同一平面上にない物は歪んでしまう。
参考
https://docs.opencv.org/4.0.0/d2/de8/group__core__array.html#gad327659ac03e5fd6894b90025e6900a7
https://fermiumbay13.hatenablog.com/entry/2018/08/14/032643