対処不能な問題
対処不能な問題については、これは見てもらった方が早い。
以下の画像を見てもらおう。
つまり画像が荒くなる。
これは射影変換に限らずで、
画像を引き延ばすような処理としては必ず発生する問題になる。
台形でしぼませてる部分ほど、長方形にした際に補完するピクセルが増えるから、
その結果として荒くなる。
実際のプログラムの流れ
というわけでプログラムを組んでいくわけだが、
特に新しくコーディングする感じではない。
コードとしては、前回の射影変換とほぼ一緒。
差分としては、
変換元と変換先が変わる感じだな。
先も記載したが、以下のパラメータに変化する。
以前の長方形を台形状にする射影変換時の座標変換のパラメータ
\(
\begin{eqnarray}
(-1,-1)→&(-0.5,-0.8)\\
(-1,1)→&(-0.8,0.8)\\
(1,1)→&(1,1)\\
(1,-1)→&(0.4,-1)\\
\end{eqnarray}
\)
今回の台形状を長方形にする射影変換時の座標変換のパラメータ
\(
\begin{eqnarray}
(-0.5,-0.8)→&(-1,-1)\\
(-0.8,0.8)→&(-1,1)\\
(1,1)→&(1,1)\\
(0.4,-1)→&(1,-1)\\
\end{eqnarray}
\)
プログラム上に該当するパラメータがあるので、
そこを書き換えればOK。
それ以外に何かあるかもしれないが、
問題があった際に対処する。
まとめ
- 射影変換で台形から長方形への変換もできるはず。
- 台形から長方形にする際に引き延ばした部分の画像は荒くなる。
- プログラム化自体は以前のものを使い回し。
MATLAB、Python、Scilab、Julia比較ページはこちら
コメント