MATLAB,Python,Scilab,Julia比較 第3章 その103【射影変換(台形→長方形)①】

MATLAB,Python,Scilab,Julia比較 第3章 その103【射影変換(台形→長方形)①】 数値計算
MATLAB,Python,Scilab,Julia比較 第3章 その103【射影変換(台形→長方形)①】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia3-backnumber/

はじめに

射影変換の話の続き。
長方形の画像を台形にできるということは・・・?

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

長方形の画像を台形にできるということは?

太郎くん
太郎くん

アフィン変換に続き、射影変換もばっちりだね!

フクさん
フクさん

ちょい待ち!

太郎くん
太郎くん

(まだなんかあるんか・・・。)

フクさん
フクさん

これまで試したのは長方形の画像を台形にしたものだった。

太郎くん
太郎くん

まぁそうだね。
それが射影変換でしょ?

フクさん
フクさん

射影変換は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をコピーしました