庭で戦争ゲームをしました。 弱者と脂肪はファシストであり、残りは彼らを打ち負かしました。 庭と子供時代は消えましたが、私は戦いたいです。
iPhoneを機械に変えて、ナチスを拡張現実で描きました。
ビデオキャプチャは私の作業椅子の周りの世界を描き、ファシストはすべての亀裂から抜け出し、私は円形の防御を保持します。
やめて! しかし、周囲の現実に敵をどのように結びつけるのでしょうか?
とてもシンプルにしました。
画像処理
最初のビデオキャプチャ画像を見てください。
画像の幅全体(480ピクセル)を実行し、現在のポイントと1つの垂直線上にあるポイントのRGBコンポーネントを要約します。 480要素の配列を取得します。
見つかった関数の赤白(ole!)ヒストグラムが図の上部に表示されます。
ビデオストリームの次のフレームでも同じことを行います。 図2をご覧ください。
私の仕事は、最初と2番目のフレームの赤と白のヒストグラムを結合することです。 グラフを互いに相対的に移動すると、最適な一致が非常にすばやく見つかります。 シフトの違いは、iPhoneでの水平方向の現実の望ましいシフトです。
したがって、仮想オブジェクトは実際の場所に永久にアタッチされます。 常に、水平面内でピクセルを何ピクセル移動させるかがわかっています。
アルゴリズムはうまく機能しますか? とても良い。 主なことは、ゲーム中に携帯電話を引っ張らないことです-このアプローチは、サイクルあたり40ピクセルを超えるオフセットを好みません。 また、カメラのサイクルタイムは20フレーム/秒です。
突然の動きでは、ジャイロスコープと加速度計という重い砲を使用する必要があるようです。
FOVとは何ですか?
各光学デバイスにはFOV(視野)があります。 それは人間の目でも石鹸の箱でも。
FOVに入るもの-デバイスが見ます。 その他-いいえ、少なくとも殺します。 写真では、人は木を見ていますが、車は見ていません。 危険です。
FOVは度で測定されます。 人は、各目で約120度のFOVを持っています。 たとえば、ノウサギには150匹あります。つまり、2つの目で、ノウサギはほぼ全体の範囲をカバーしています。 ノウサギは前方にちょうど10度、後方にちょうど10度しか見えません。 斜め...
さて、私のiPhoneのFOVは何ですか?
もちろん、彼はインターネットを見ました。 私の神、FOV iOSデバイスを計算するには、レーザーメーターを備えた特別な実験室が必要です。
私にはそのような研究室はありません。 なんで? 上記のプログラムを実行しました。 彼はお気に入りの回転椅子に座った。 そして彼は360度向きを変えた。 このプログラムは、私の周りの球の大きさを明らかにしました。
このプログラムは、私の周りの球の大きさを明らかにしました。
ピクセル単位-最新世代のiPod 3050-3060ピクセルに安定。
したがって、iPodのFOVは480 * 360/3060 = 56-57度です。
そして、レーザーは55.7を意図していました。
私は良い精度を得ました、同意します。
上記のアルゴリズムを使用するアプリケーションの非表示広告はタグに配置されます。 これだけでいいの?