opencv - 径向畸变校正、相机参数和openCV

标签 opencv distortion radial

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

最佳答案

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

更多关于相机矩阵元素的信息可以查看here .

关于opencv - 径向畸变校正、相机参数和openCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38366833/

相关文章:

c# - 为什么径向树布局绘图算法会产生交叉边?

java - 将灰度图像转换为 RGB

android - 获取 RANSAC 在 findHomography (OpenCV for Android) 中使用的 5 个点

c++ - 如何访问OpenCV图像的所有 channel

c++ - OpenGL - 翻译拉伸(stretch)和扭曲 Sprite

android - 如何开发android图像失真

javascript - 使用 Canvas 创建图像的弧形变形

Android - 径向图实现

python - 如何找到在python中从yolo检测到的对象的像素值?

html - Safari 中带有圆环或 strip 的 CSS 渐变