【入門】射影変換(台形→長方形)【数値計算】

【入門】射影変換(台形→長方形)【数値計算】 数値計算
【入門】射影変換(台形→長方形)【数値計算】

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}
\)

最初の状態を台形と思っておけば、割と簡単に変換できそうってことになる。
ただし、対処不能な問題もある。

次のページへ

次のページで対処不能な問題とプログラミングに向けての話

コメント

タイトルとURLをコピーしました