1

私は現在、カメラビュー(基本的に拡張現実)に画像を表示するアプリに取り組んでいますが、画像が「本物」に見えないことがわかりました。これは、画像のサイズが実際の画像と同じように変化しないためです。

私が持っているデータは次のとおりです。画像の元のサイズ(高さ、幅)、画像の場所(緯度、経度、高度)、電話の場所、電話と画像の間の距離。

たとえば、拡張現実のlat = 43、long = -70、alt = 0に画像を配置したとします。携帯電話でこのポイントに近づき始めた場合、近づくにつれて画像が大きくなるはずです。しかし、現時点では、サイズの増加は直線的です。しかし、実際に画像に近づき始めると、特定の機能に応じて画像が大きくなっていくのがわかります。

その機能が何であるかについてのアイデアはありますか?

4

2 に答える 2

3

免責事項:これはすべて私の意見であり、私は正確な機能を持っていません。

ステップ1:ビューポートの仮定

考慮する必要があるのはビューポートです。歩くとき、あなたは視界を持っています。見てみると、平均的な人は周辺視野を使用しないことを考慮して、このシナリオを単純化しましょう(簡単にするために、これは実際の生活では明らかに当てはまりません)。前方を見たときに180度を見ていることを考慮して、周辺機器なしで、左右両方から45度が削除されていると仮定します。これにより、幅90度のビューポートが表示され、そのベースで、視聴者は左に45度、右に45度の直角三角形を見ることができます。これは測定されたものでも純粋に科学的なものでもないことに注意してください。ただし、拡張現実を作成するために、特定の仮定を行うと処理がはるかに簡単になります。

ステップ2:ビューポートの利点

ここで、ビューポートの以前の定義に基づいて、遠方からのオブジェクトがそのビューのどの部分を占めるかを検討します。これは実際に実際の数学を生成し始めることができます:)!近づくと、ビューの大部分を占めるため、オブジェクトは大きくなります。オブジェクトが占めるビューの部分は、オブジェクトのサイズとビューのサイズの関係になります。この場合、ビューのサイズはビューポートの弧長です。

ステップ3:数学

プロセスを単純化するために別の仮定を立てましょう。実際の円弧を表示する代わりに、ビューポートの斜辺を表示するとします。距離dから見て、90度のビューで見ると、ビューポートの斜辺は次のようになります。

hypotenuse = 2.83 * d
//Note: 2.83 is approx. 2 * sqr. root of 2

ステップ4:結論と適用

したがって、オブジェクトから100フィートのところに立っている場合、ビューポートは283フィートになります。車の正面などのオブジェクトが6フィートを占める場合、それは6/283 =全景の2%にすぎません。

ただし、同じ車から50フィート離れた場所に立っている場合、関係は6/141 =全景の4%になります。

これは明らかに線形関係であることがわかります。オブジェクトのサイズがわかっている場合(それをsと呼びましょう)、必要なビューの割合は次のようになります。

view % = s / 2.83d

また、ここに示されているのは、オブジェクトのサイズを決定することが非常に重要であり、単一の.jpg画像から推測するのは難しい場合があることです。2500px×2500pxのサイズ5のサッカーボールの写真を撮ることができました。それはそれが巨大であることを意味しますか?いいえ。ただし、そのサイズの唯一の仮定が総ピクセル数からのものである場合、それは巨大に見えます。同じ線に沿って、100x 100ピクセルの地球の写真を撮ることができますが、それが小さく表示されないことを願っています。

オブジェクトのサイズを解くと、ユーザーが拡張現実でオブジェクトに近づくことができる結果が得られます。ユーザーが近づくにつれて画像を拡大縮小する方法を知ることは、かなり簡単です。

于 2012-07-09T00:00:52.520 に答える
1

写真フォーラムから:

あなたが焦点距離を知っていて、問題のオブジェクトが焦点を合わせているオブジェクトであると仮定すると、視野の角度を知る必要があります(どのレンズが使用されたかを知っていると、exifはあなたにさえ言うかもしれません)角度)

それを知ったら、オブジェクトがどれだけの量を占めているかを把握する必要があります。

それを知っていると、二等辺三角形を描くことができます。あなたは3つの角すべての角度とそれがどれくらいの高さであったかを知っているでしょう。それから、片側とすべての角度を知っている直角三角形を描くことができます。それを知っていると、他の2つの辺の長さを把握できます。

短辺の長さの2倍は、オブジェクトの幅になります。

開始するには1つのディメンションが必要です。これは、カメラから被写体までの距離、問題のオブジェクトの近くにある別のオブジェクトの寸法などです。視野角がわかれば、カメラがどれだけ離れているかを把握できます。それ以外はフレーム内にあります。

于 2012-07-28T08:06:11.850 に答える