我试图从图像中取消桶/径向失真。当我看到方程时,他们不需要相机的焦距。但openCV API initundistortrectifymap需要它们以相机内部矩阵的形式。为什么这样 ?无论如何没有它们吗?因为我理解不同的失真对于各种失真校正是常见的。
答案 0 :(得分:1)
焦距在失真消除中至关重要 - 因为它提供了相机固有参数的信息 - 并且将其添加到相机矩阵中相当简单。请记住,您必须将其从毫米转换为像素。这样做是为了确保像素是矩形的。对于转换,您需要知道传感器的高度和宽度(以毫米为单位),传感器的水平(Sh)和垂直(Sv)像素数以及以毫米为单位的焦距。转换使用以下等式完成:
fx =(f(mm)x Sh(px))/ sensorwidth(mm)
fy =(f(mm)x Sv(px))/ sensorheight(mm)
有关相机矩阵元素的更多信息,请here。