使用iPhone加速度计数据获取图像的俯视图

5
我开发了一个简单的 iPhone 应用程序(用于学术目的),允许用户拍摄物体的照片。在拍摄照片时,同时捕捉手机的加速度计数据。用户将会从上方 (鸟瞰视角) 拍摄图片,这意味着手机应该与物体成 90 度角。然而无法保证角度始终是 90 度。
由于我有照片被拍摄时的加速度计数据 (x、y 和 z 值),我相信可以通过构造一个变换矩阵将图像转换为从 90 度角度拍摄的效果。但我不确定如何构造这个矩阵。
正如我所提到的,这只是为了玩耍/学术目的,因此一旦我捕获了图像和 x、y、z 数据,我就会将它发送到我的计算机进行进一步处理。处理是使用 Python 和 OpenCV 进行的。
非常感谢任何帮助或指针。
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

答案?

来自相关问题“使用透视变换对图像进行扭曲”,使用OpenCV函数cvWarpPerspective (感谢@jeff7)

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

你仍需要创建矩阵,为此,可以尝试使用cvGetPerspectiveTransform并从传感器的方向信息创建输入顶点。

或者,如果角度很小,仿射变换可能看起来已经足够好了(使用cvWarpAffinecvGetAffineTransformhttp://docs.opencv.org/doc/tutorials/imgproc/imgtrans/warp_affine/warp_affine.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接