バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia3-backnumber/
はじめに
アフィン変換の拡張と言われている射影変換の話。
射影変換の理屈について
登場人物
博識フクロウのフクさん
![指差しフクロウ](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
![技術者太郎](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
射影変換の理屈
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
今回は射影変換の理屈について説明してくれるんだっけ?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
そうなのだが、
割とボリュームがあるから、
まずは全体像としてどうなのかを見せよう。
- 大まかな理屈
- 大まかな理屈を座標変換で説明
- 基本ベクトルと基底ベクトル
- 元画像平面を3次元空間で表現
- 3次元空間を地面平面に落とし込む
- 一連の座標変換まとめ
- 方程式の変形
- 行列表現
- アフィン変換との関係性
- 係数の求め方
- 係数の求め方(行列表現)
- 射影変換の処理の流れ
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
なんかやべぇ感じしかしねぇ・・・。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
一個一個はそれほど難しくはない。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」10アップ.png)
そうなんだろうけど、
数が多いのと因果関係が難しいから一個一個が簡単でもトータルだと簡単じゃなくなるんだよなぁ・・・。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
因果関係はシンプルで、上から順番に因果があると思えばOKだな。
大まかな理屈
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まずは大まかな理屈。
これは画像で説明した方が早い。
![射影変換の大まかな理屈、近い方が大きく見れる、遠い方が小さく見える、真下から見上げるとこう見える](https://www.simulationroom999.com/blog/wp-content/uploads/2023/10/02_射影変換の大まかな理屈-1024x647.png)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
考え方としては思ったよりもシンプルかな。
3次元空間で見た場合、近い方が大きく見えて、遠くの方が小さく見えるのは感覚的にもわかる。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」10アップ.png)
いや、でも、これが分かったからと言って、
計算方法は全く思いつかん。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
まぁ、大まかな理屈に過ぎないからね。
これを一つ一つひも解いて、これから説明していく感じだな。
大まかな理屈を座標変換で説明
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
先ほどの大まかな理屈を座標変換で表現すると以下のイメージになる。
![射影変換の大まかな理屈(座標変換)](https://www.simulationroom999.com/blog/wp-content/uploads/2023/10/03_射影変換の大まかな理屈座標変換.png)
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
元画像の平面を\(x,y\)平面。
2種類の画像が存在数r空間を\(u,v,w\)空間。
射影が映り込む平明を\(x\prime,y\prime\)平面。
って感じだ。
よって、
\((x,y)\)→\((u,v,w)\)→\((x\prime,y\prime)\)
って流れで変換していく。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
さっきよりかは具体的な表現にはなったが、
それでも意味わからん。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まぁ、一つずつひも解いていこう。
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まとめだよ。
- 射影変換の理屈を把握するための流れを記載。
- 大まかな理屈について説明。
- 大まかな理屈を座標変換で表現したパターンで説明。
バックナンバーはこちら。
コメント