- ベストアンサー
焦点距離
コンピュータビジョンのステレオ視で、ちょっとでてきた問題なんですが、 いくつかの内部パラメータから一つの内部パラメータを 決定するのに、焦点距離が必要になりました。そこで、 カメラの焦点距離を求めるにはどうしたらいいでしょうか? わかっている値は 画像面での二点間の距離(ピクセル) その二点の実際の距離(mm) です。わからない値は カメラと対象の二点間の距離です。 お願いします。助けてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
カメラと物との距離は「ステレオ視」なんだから最低でも2つのカメラを使っているんでしょ?だったらこれは多分焦点距離の問題じゃないです。倍率の問題。 カメラから1mの所に、光軸に垂直方向に1mm離れた2点を置いて撮影し、画像上での距離を測れば、1pixelが何ミリラジアンに相当するかが分かる。 あとはこの比率で換算すれば良い。 1台のカメラで距離を測る為には、非常に大口径のレンズを使い、被写界深度(このキーワードで検索すれば過去のQAが出ます)を浅くします。そしてピント合わせを厳密にやれば、ピント合わせに必要な調整量から距離が計算できますが、物体が遠くなればどんどん精度が落ちます。 老婆心ながら:コンピュータビジョンをやろうという方々なら、中学で習う幾何光学ぐらいは復習しておいた方が良いと思います。
その他の回答 (1)
- stomachman
- ベストアンサー率57% (1014/1775)
幾何光学やりませんでしたか。それは失礼いたしました。 薄いレンズの理論で大体の計算が出来ます。 レンズの焦点距離fは平行光線(つまり無限遠の光源からの光)を入れたときに像が出来る位置とレンズの中心までの距離です。レンズのどっち側から光を入れるかで異なりますが、薄いレンズの場合には気にしない。 凹レンズの場合は像は出来ず、仮想的な点から発散する光と等価になります。この点からレンズの中心までの距離がfですが、この点はレンズより光源寄りにあるので、f<0になります。 被写体からレンズまでの距離をa, レンズから像までの距離をbとすると、薄いレンズなら 1/f = 1/a + 1/b という関係があります。ピントを合わせるというのはaに合わせてbを調節してこの式が成り立つように調節することに他なりません。従って、fが既知ならbからaが計算できる。逆にいくつか既知のa,bを実測しておけば、fが計算できることになります。 また、このとき出来る像の倍率はb/aです。 複数枚のレンズが組み合わされている場合には、最初のレンズで出来た像を被写体として、次のレンズが像を結ぶ、....という風に計算すれば良い和訳です。
お礼
とても詳しく親切に教えてくださってありがとうございます。 やっと卒業研究のほうも軌道にのり、あとは結果をどんどん だすだけになりました。 ありがとうございました。
お礼
ありがとうございました。 残念なこととに 中学では幾何光学というものをやらなかったので 知識が足りませんでしたね。 ありがとうございました。