4

iPhone/iPad 用のパノラマ アプリを作成しようとしています。

画像のスティッチング ビットは問題ありません。私は openCV ライブラリを使用していますが、結果はかなり満足できるものです。

しかし、パノラマのキャプチャ中にユーザーを支援するための UI の開発に少し行き詰まっています。

ほとんどのアプリ (Android でも) は、ユーザーのカメラの動きに正確に一致するように移動/回転するある種のマーカーをユーザーに提供します。[iOS 7 のデフォルト カメラのパノラマ機能を予備ベンチマークとして使用しています]。

しかし、私は今日まで的外れです。

試した こと: マーカーの追跡に加速度計とジャイロ データを使用してみました。このアプローチにより、

  • 加速度計のデータに LPF を適用し、単純なニュートン力学 (慎重に調整された減衰係数を使用) を使用して、画面上のマーカーを変換しました。このアプローチの問題:非常に不安定なデータ。マーカーは、ポイント間でジャンプしたりぐらついたりする傾向があります。滑らかな動きとジャークの区別がつきにくい。

  • ブロブを変換するために、LPF 処理されたジャイロ データと加速度計データの間で補完的なフィルターを使用してみました。このアプローチの問題:最初のアプローチよりもわずかに優れていますが、それでもかなりランダムです。

  • また、画像処理を使用してオプティカル フローを計算してみました。私はopenCVを使用しています

    goodFeaturesToTrack(firstMat, cornersA, 30, 0.01, 30);
    

    最初の画像 (カメラ ピッカーからサンプリング) から追跡可能なポイントをcalcOpticalFlowPyrLK 取得し、次の画像でこれらのポイントの位置を取得するために使用します。 このアプローチの問題点:ただし、これらのポイントを追跡して取得したモーション ベクトルは、ノイズが多すぎて、モーションの結果の方向を正確に計算できません。

次にやるべきだと思うこと:

  • おそらく、加速度計とジャイロのデータから DCT マトリックスを計算し、何らかのアルゴリズムを使用して一方の出力を他方の出力でフィルター処理します。

  • 画像処理アルゴリズムに取り組み、いくつかの異なる手法を使用します (???)。

  • カルマン フィルターを使用して、加速度計 + ジャイロからの状態予測を画像処理ブロックの状態予測と融合します。

私が必要とする助け:

この仕事をやり遂げるための簡単な方法を提案できますか?

そうでない場合は、私のアプローチで考えられる間違いを強調していただけますか? 本当にこれほど複雑にする必要がありますか?

助けてください。

4

0 に答える 0