鉴于我有拍摄图像时的加速度计数据(x,y,z值),我相信有一种方法可以构建一个变换矩阵来转换图像,好像它是从90度角拍摄的.但是,我不确定如何构建这个矩阵.
正如我所提到的,这是为了游戏/学术目的,所以一旦我捕获图像和x,z数据,我只需将其发送到我的一台计算机进行进一步处理.正在使用Python和OpenCV执行处理.
任何帮助或指针将不胜感激.
解决方法
阅读文章
> http://en.wikipedia.org/wiki/Perspective_control
> http://en.wikipedia.org/wiki/Projective_transformation AKA Homography
> http://en.wikipedia.org/wiki/Image_rectification
> http://en.wikipedia.org/wiki/Epipolar_geometry
这些演示文稿将让您了解所涉及的数学复杂性.
– 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并根据传感器的方向信息创建输入顶点.
或者,如果角度非常小,仿射变换可能看起来足够好(cvWarpAffine with cvGetAffineTransform)
http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/warp_affine/warp_affine.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。