MATLAB、Python、Scilab、Julia比較ページはこちら
https://www.simulationroom999.com/blog/comparison-of-matlab-python-scilab/
はじめに
の、
MATLAB,Python,Scilab,Julia比較 第3章 その103【射影変換(台形→長方形)①】
MATLAB,Python,Scilab,Julia比較 第3章 その104【射影変換(台形→長方形)②】
を書き直したもの。
射影変換の話の続き。
長方形の画像を台形にできるということは・・・?
という話を元に台形の画像を長方形にする話をする。
長方形の画像を台形にできるということは?
射影変換のプログラミング実施したことで射影変換はバッチリ!
と言いたいところだが、まだやることはある。
これまで試したのは長方形の画像を台形にしたものだった。
射影変換は2次元平面を3次元空間に浮かせた状態の射影を求めるもの。
ということは、台形な画像を長方形にできるはず。
実際、名刺を画像として取り込むのも、台形状のものを長方形にしてるツールが多くある。
というわけで台形→長方形にチャレンジ!
「長方形→台形」と「台形→長方形」の関係性
ここで、以前の「長方形→台形」と「台形→長方形」の関係性を整理しよう。
まず、画像で説明すると以下の感じになる。
これだけ見ると、逆変換をしているように見える。
確かに、逆変換でも実現できるだろうが、
ここでは、射影変換の理屈で台形から長方形にする。
パラメータで表現すると以下になる。
長方形→台形変換時は以下の座標変換
\(
\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}
\)
つまり、これの逆をやればOKなはず。
\(
\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}
\)
最初の状態を台形と思っておけば、割と簡単に変換できそうってことになる。
ただし、対処不能な問題もある。
次のページへ
次のページで対処不能な問題とプログラミングに向けての話
コメント