翘曲图像和Homography opencv矩阵的问题

时间:2010-12-27 16:03:11

标签: c++ opencv

当我得到使用函数cvFindHomograhpy()的结果时,我遇到了问题。

结果它给出了负坐标,我现在将解释我在做什么。

我正在使用光流法进行视频稳定。我估计了第一帧和第二帧中特征的位置。现在,我的目标是扭曲图像以稳定图像。在此步骤之前,我应该计算我使用上述函数的帧之间的单应矩阵,但是我得到这个结果的问题似乎并不现实,因为它有负值,这些值可以改为更奇怪的结果。

0.482982            53.5034         -0.100254              
-0.000865877        63.6554         -0.000213824 
-0.0901095            0.301558        1

获得这些结果后,我通过使用CvWarpPerspective()来应用图像变形的问题。该错误表明使用矩阵时出现问题。 “cvarrTomat”变换不正确?

问题出在哪里?如果可以的话,你能给我另一个建议吗?

注意:如果你能帮助我在c ++中实现warping,那就太棒了。

谢谢

1 个答案:

答案 0 :(得分:2)

差的单应性估计会在CvWarpPerspective()内产生扭曲错误。 你发布的单应性值表明你有一个完整的投影变换,它将无穷远处的点移动到欧德第二平面上的点,这可能是错误的。 在用于计算良好单应性模型的视频稳定中,通常使用其他特征,例如哈里斯角,粗麻布仿射或SIFT / SURF结合鲁棒模型估计器,如RANSAC或LMEDS。

查看this link有关视频稳定的matlab示例...