【问题标题】:Help with OpenCV cvInitUndistortRectifyMap and a single camera帮助 OpenCV cvInitUndistortRectifyMap 和单个相机
【发布时间】:2011-06-18 23:59:35
【问题描述】:


我正在尝试创建一个不会扭曲和纠正的地图
一个相机。
现在我在两个单独的操作中执行此操作。

我尝试使用 cvInitUndistortRectifyMap 制作地图,
但我得到了奇怪的结果。
有没有人有一个例子如何做到这一点?
我应该给 cvInitUndistortRectifyMap 什么作为“新相机矩阵”
如果我只有一台相机?

谢谢,
软件

【问题讨论】:

  • 请展示你做了什么(来源),你期望它做什么(输入图像和解释),和你的期望有什么不同(输出图像或结果)。
  • 现在我正在执行 cvRemap 以获得未失真的图像,然后执行 cvWarpPerspective 来纠正它(用户在未失真的图像上选择了 4 个角,这些角被“扩展”以适应整个图像)。这工作正常但太慢了,当我尝试使用 cvInitUndistortRectifyMap 制作地图时,我得到的只是一张黑色图像。
  • 发布来源可以帮助人们重现您遇到的问题。如果您不发布源代码,那么有人重现问题的唯一方法是从头开始编写源代码。对于大多数人(例如我)来说,这样做太麻烦了。如果您发布您的来源,我会很乐意查看并挖掘问题所在,我相信其他人也会这样做。
  • 我明白你的意思,但是来源很复杂,并且依赖于几个外部资源。您将无法轻松重现该问题。我只是在寻找使用 cvInitUndistortRectifyMap 的人。到目前为止,我找不到任何人在一台相机上使用它。
  • 你可能想试试 openCV 邮件列表——你可能会很幸运。 tech.groups.yahoo.com/group/OpenCV/join

标签: image-processing opencv computer-vision emgucv


【解决方案1】:

对于单个相机外壳newCameraMatrix = cameraMatrix,除非您想让新图像看起来像是用不同焦距的相机拍摄的。尽管如此,您可能仍希望将图像居中。

重要的输入矩阵是distCoeffs(校正失真)和R(校正)。

另外,你可以用GetOptimalNewCameraMatrix来计算newCameraMatrix,但其实没必要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-12
    • 1970-01-01
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    相关资源
    最近更新 更多