アプリ版:「スタンプのみでお礼する」機能のリリースについて

コンピュータビジョンのステレオ視で、ちょっとでてきた問題なんですが、
いくつかの内部パラメータから一つの内部パラメータを
決定するのに、焦点距離が必要になりました。そこで、

カメラの焦点距離を求めるにはどうしたらいいでしょうか?

わかっている値は
画像面での二点間の距離(ピクセル)
その二点の実際の距離(mm)

です。わからない値は
カメラと対象の二点間の距離です。

お願いします。助けてください。

A 回答 (2件)

 カメラと物との距離は「ステレオ視」なんだから最低でも2つのカメラを使っているんでしょ?だったらこれは多分焦点距離の問題じゃないです。

倍率の問題。
カメラから1mの所に、光軸に垂直方向に1mm離れた2点を置いて撮影し、画像上での距離を測れば、1pixelが何ミリラジアンに相当するかが分かる。
あとはこの比率で換算すれば良い。

1台のカメラで距離を測る為には、非常に大口径のレンズを使い、被写界深度(このキーワードで検索すれば過去のQAが出ます)を浅くします。そしてピント合わせを厳密にやれば、ピント合わせに必要な調整量から距離が計算できますが、物体が遠くなればどんどん精度が落ちます。

老婆心ながら:コンピュータビジョンをやろうという方々なら、中学で習う幾何光学ぐらいは復習しておいた方が良いと思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。
残念なこととに 中学では幾何光学というものをやらなかったので
知識が足りませんでしたね。
ありがとうございました。

お礼日時:2001/02/04 14:17

幾何光学やりませんでしたか。

それは失礼いたしました。
 薄いレンズの理論で大体の計算が出来ます。
レンズの焦点距離fは平行光線(つまり無限遠の光源からの光)を入れたときに像が出来る位置とレンズの中心までの距離です。レンズのどっち側から光を入れるかで異なりますが、薄いレンズの場合には気にしない。
凹レンズの場合は像は出来ず、仮想的な点から発散する光と等価になります。この点からレンズの中心までの距離がfですが、この点はレンズより光源寄りにあるので、f<0になります。
被写体からレンズまでの距離をa, レンズから像までの距離をbとすると、薄いレンズなら
1/f = 1/a + 1/b
という関係があります。ピントを合わせるというのはaに合わせてbを調節してこの式が成り立つように調節することに他なりません。従って、fが既知ならbからaが計算できる。逆にいくつか既知のa,bを実測しておけば、fが計算できることになります。
また、このとき出来る像の倍率はb/aです。
 複数枚のレンズが組み合わされている場合には、最初のレンズで出来た像を被写体として、次のレンズが像を結ぶ、....という風に計算すれば良い和訳です。
    • good
    • 0
この回答へのお礼

とても詳しく親切に教えてくださってありがとうございます。
やっと卒業研究のほうも軌道にのり、あとは結果をどんどん
だすだけになりました。
ありがとうございました。

お礼日時:2001/02/04 21:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!