2011-07-15 33 views
14

。私はこれがかなり簡単になるはずですが、何らかの理由で私は空白を描いています。事前に助けてくれてありがとう。私の心に検索距離

+0

は、お使いのシステムの「キャリブレーション」を試みたことがありますか?球がウェブカメラから50cm、1m、2m離れているときにピクセルサイズを測定してから、リアルタイム測定と較正データを比較することができますか? –

+0

これは良いアイデアですが、あらゆる種類のウェブカメラで実行されるクロスプラットフォームアプリケーションの作成を計画している場合、それぞれのカメラには独自のキャリブレーションが必要ですか?または、同じ品質の異なるカメラ(たとえば、vga)は、各距離で同じ数のピクセルとしてボールを表示しますか? –

+0

残念ながら、各カメラの較正が必要です。なぜなら、「視野角」がほとんど同じではないからです。いくつかは他のものよりも広角(ズーム)です(例:http://www.tomshardware.com/reviews/webcam-quality-test-shootout,878-10.html)。だから私はこれが最善の解決策ではないことを理解しています。 –

答えて

23

三角の類似性を使用して、カメラの角度を較正し、距離を見つけることができます。
あなたは、あなたのボールの大きさを知っている:D単位(例えばセンチ)。カメラの前に既知の距離Z、たとえば1メートル= 100cmを置き、見かけの幅をピクセル単位で測定します。この幅をdとします。
(カメラ、カメラからわずかに異なる)カメラfの焦点距離は、次にf=d*Z/Dあります。 Z'=D*f/d'Z'カメラからのボールの現在の距離です。このカメラで再び、このボールを見て、その見かけの幅はその後、三角形の相似により、d'ピクセルである場合には

は、あなたがf/d'=Z'/Dひいてはがあることを知っています。

+2

カメラの焦点距離に問題はありませんか?スマートフォンのカメラ較正では、焦点距離はメートル単位ではなく、x-y軸のピクセル単位で表示されます。スケーリング係数が乗算されています。 –

+0

最初の段落では焦点距離をピクセル単位で取得する方法について説明します。三角形の類似性は、ピクセルからメートルへの変換スケーリング係数を本質的に見つける。 –

+0

あなたの言っていることが分かります。それでも、イメージセンサーのサイズとキャリブレーションのデータベースを単純に同じ量のトラブルについて保持しているわけではありませんか? –

0

あなたは距離や(実世界の整数)他のものを測定したい場合は、カメラモデル=キャリブレーションモデルが必要になります。 ピンホールカメラのモデルはシンプルで直線的で、良い結果が得られます(ただし、放射状でも接線方向でも歪みは補正されません)。

これを使用しないと、視差デプスマップ、(例えば、あなたがステレオビジョンを使用している場合)、それは相対的で、背後にあるものだけを、あなたに絶対測定を与え、どのような他のオブジェクトの前にあるしない....

ため、答えは、あなたは何とかそれを較正する必要があるでしょう、多分あなたは、すべての画像平面がボールで完全に満たされるまで、カメラに球に近づくようにユーザーに頼むことができます。距離を計算することができます....

Julien、