【入門】射影変換へ至る道①【数値計算】

【入門】射影変換へ至る道①【数値計算】 数値計算
【入門】射影変換へ至る道①【数値計算】

方程式の変形

そして、この方程式全体を\(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個にしたのは後々効いてくる。

方程式の変形

先の方程式を少し整頓して変形していく。

分母を\(s\)としてまとめる。

\(
s=gx+hy+1
\)

これを元の式に戻す。

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

これを整理すると、

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

行列表現

見た目がキレイになったところで
これを行列として表現しなおす。
以下のようになる。

\(
s
\begin{bmatrix}
x\prime\\
y\prime\\
1
\end{bmatrix}=
\begin{bmatrix}
a&b&c\\
d&e&f\\
g&h&1
\end{bmatrix}
\begin{bmatrix}
x\\
y\\
1
\end{bmatrix}
\)

方程式がキレイにそろえられたから、
そのまま行列に表現を変えただけではある。

まとめ

  • 射影変換の理屈を把握するための流れを記載。
  • 変換過程を説明。
  • 変換過程毎の数式化、方程式化、行列化を実施。

MATLAB、Python、Scilab、Julia比較ページはこちら

コメント

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