1

我试图从图像中消除桶形/径向失真。当我看到方程式时,它们不需要相机的焦距。但是 openCV API initundistortrectifymap 需要它们以相机内在矩阵的形式。为什么这样 ?无论如何要在没有他们的情况下做到这一点?因为我知道 undistort 对于各种失真校正很常见。

4

1 回答 1

1

焦距对于消除失真至关重要 - 因为它提供有关相机内在参数的信息 - 并且将其添加到相机矩阵相当简单。请记住,您必须将其从毫米转换为像素。这样做是为了确保像素是矩形的。对于转换,您需要知道传感器的高度和宽度(以毫米为单位)、传感器的水平 (Sh) 和垂直 (Sv) 像素数以及以毫米为单位的焦距。使用以下等式完成转换:
fx = (f(mm) x Sh(px))/sensorwidth(mm)
fy = (f(mm) x Sv(px))/sensorheight(mm)

更多关于相机矩阵元素的信息可以在这里找到。

于 2016-07-14T09:54:33.150 回答