5

ユーザーがオブジェクトの写真を撮ることができるシンプルな小さな iPhone アプリ (学術目的) を開発しました。写真が撮られると、携帯電話からの加速度計データも取得されます。ユーザーは画像を上から見下ろす (鳥瞰図) ことになります。つまり、携帯電話はオブジェクトに対して 90 度の角度にある必要があります。ただし、角度が常に90 度になるという概念は保証できません。

画像が撮影されたときの加速度計データ (x、y、z 値) があるとすれば、90 度の角度から撮影されたかのように画像を変換する変換行列を作成する方法があると思います。ただし、このマトリックスを構築する方法が正確にはわかりません。

前述したように、これは遊び/学術的な目的のためであるため、画像と x、y、z データをキャプチャしたら、さらに処理するためにコンピューターの 1 つに送信するだけです。処理は Python と OpenCV を使用して実行されています。

どんな助けや指針も大歓迎です。

4

1 に答える 1

3

あなたの宿題

記事を読む

これらのプレゼンテーションは、関連する数学の複雑さを感じさせてくれます。- http://www.cs.auckland.ac.nz/compsci773s1t/lectures/773-GGpdfs/773GG-FundMatrix-A.pdf - http://www.robots.ox.ac.uk/~vgg/hzbook/ hzbook1/HZepipolar.pdf

答え?

関連する質問Skewing an image using Perspective Transformsから、OpenCV 関数cvWarpPerspectiveを使用します(@jeff7 に感謝)

http://opencv.willowgarage.com/documentation/geometric_image_transformations.html

マトリックスを作成する必要があります。これには、cvGetPerspectiveTransformを試して、センサーからの方向情報から入力頂点を作成します。

または、角度がかなり小さくなる場合は、アフィン変換で十分に見えるかもしれません ( cvGetAffineTransformを使用したcvWarpAffine ) http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/warp_affine/warp_affine.html

于 2013-04-18T13:13:48.687 に答える