MATLAB,Python,Scilab,Julia比較 第3章 その92【射影変換⑥】

MATLAB,Python,Scilab,Julia比較 第3章 その92【射影変換⑥】 数値計算
MATLAB,Python,Scilab,Julia比較 第3章 その92【射影変換⑥】

バックナンバーはこちら。
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

【再掲】射影変換の理屈の因果関係

太郎くん
太郎くん

まずは大まかな流れを再掲

  • 大まかな理屈(済)
  • 大まかな理屈を座標変換で説明(済)
  • 基本ベクトルと基底ベクトル(済)
  • 元画像平面を3次元空間で表現(済)
  • 3次元空間を地面平面に落とし込む(済)
  • 一連の座標変換まとめ
  • 方程式の変形
  • 行列表現
  • アフィン変換との関係性
  • 係数の求め方
  • 係数の求め方(行列表現)
  • 射影変換の処理の流れ
フクさん
フクさん

「3次元空間を地面平面に落とし込む」というところまで終わっている。

一連の座標変換まとめ

フクさん
フクさん

これまでの一連の変換を再掲しよう。

元画像平面を3次元空間で表現

\(
\begin{eqnarray}
\left\{
\begin{array}{l}
u=ax+by+c \\
v=dx+ey+f\\
w=gx+hy+i
\end{array}
\right.
\end{eqnarray}
\)

3次元空間を地面平面に落とし込む

\(
\begin{eqnarray}
\left\{
\begin{array}{l}
\displaystyle x\prime=\frac{u}{w} \\
\displaystyle y\prime=\frac{v}{w}
\end{array}
\right.
\end{eqnarray}
\)

フクさん
フクさん

\(u,v,w\)を代入すると以下の式にできる。

\(
\begin{eqnarray}
\left\{
\begin{array}{l}
\displaystyle x\prime=\frac{ax+by+c}{gx+hy+i} \\
\displaystyle y\prime=\frac{dx+ey+f}{gx+hy+i}
\end{array}
\right.
\end{eqnarray}
\)

太郎くん
太郎くん

ようわからんが、変換式の大元が出てきたような気がする。

方程式の変形

フクさん
フクさん

そして、この方程式全体を\(i\)で割る。
そうすると、\(a/i,b/i,\dots,h/i\)というパラメータになるのだが、
元々何も決まってないパラメータだったので、
これらを新たな\(a,b,\dots,h\)とする。
これにより、以下の式になる。

\(
\begin{eqnarray}
\left\{
\begin{array}{l}
\displaystyle x\prime=\frac{ax+by+c}{gx+hy+1} \\
\displaystyle y\prime=\frac{dx+ey+f}{gx+hy+1}
\end{array}
\right.
\end{eqnarray}
\)

太郎くん
太郎くん

なんかシレっとすげぇことしたような気がするぞ・・・。

フクさん
フクさん

でも、成立することもわかるでしょ?

太郎くん
太郎くん

まぁ、それは分かるかな。

フクさん
フクさん

ここでパラメータをa~iの9個からa~hの8個にしたのは後々効いてくる。

まとめ

フクさん
フクさん

まとめだよ。

  • 射影変換を行う一連の座標変換再掲。
  • 上記を代入やらしてまとめる。
  • さらに、パラメータiで全体を割って変形。
    • パラメータ数を9個から8個に減らす。これが後々効いてくる。

バックナンバーはこちら。

コメント

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