相机内参、外参、焦距及图像坐标计算的完整解析(超详细版)


📷 相机内参、外参、焦距及图像坐标计算的完整解析(超详细版)


📍 一、相机的内参和外参的详细含义


📌 ① 内参(Intrinsic Parameters)的含义

相机内参描述的是相机自身的光学特性,即相机在不考虑外部环境的情况下,将三维空间中的一个点如何精确地映射到相机传感器(图像平面)上。

内参矩阵(K)完整表示:

K = | fx   s   cx |
    | 0   fy   cy |
    | 0    0    1 |

具体参数的详细含义

  • 焦距(fx, fy)

    • 表示光学中心到图像传感器的距离,以像素为单位。
    • fx 和 fy 分别表示图像在水平和竖直方向的放大倍数(像素/mm)。
    • 一般情况下 fx ≈ fy。
  • 主点(光学中心)(cx, cy)

    • 图像坐标系的原点位置,通常位于图像中心附近。
  • 像素倾斜系数(s)

    • 通常为0,表示传感器的像素横竖完全垂直。

📌 ② 外参(Extrinsic Parameters)的含义

相机外参描述的是相机在世界坐标系(大地坐标系)中的位置与朝向,明确了三维世界中物体坐标与相机自身坐标之间的关系。

外参用矩阵 [R|t] 完整表示:

[R|t] = | r11  r12  r13  tx |
        | r21  r22  r23  ty |
        | r31  r32  r33  tz |

具体参数的详细含义

  • 旋转矩阵(R)

    • 表示相机相对于世界坐标系的旋转关系(姿态)。
  • 平移向量(t)

    • 表示相机坐标系原点相对于世界坐标系原点的位置。

📍 二、焦距的详细作用

焦距(Focal Length)决定了:

  • 拍摄视野(FOV)范围的大小
  • 物体在图像中的成像比例(大小)
焦距类型视野大小成像特点常见用途
长焦距(数值大)视野窄远处物体放大明显人像特写、远距离拍摄
短焦距(数值小)视野宽近处物体较小,边缘易变形风景、广角镜头

焦距的数学关系为:

u = fx * (Xc/Zc) + cx
v = fy * (Yc/Zc) + cy

📍 三、已知大地参考系下物体坐标和相机内外参数,如何计算物体在图片上的坐标?

假设已知:

  • 世界坐标系物体坐标:(Xw, Yw, Zw)
  • 相机外参:旋转矩阵R、平移向量t
  • 相机内参矩阵K

🚩 步骤①:世界坐标 → 相机坐标(外参转换)

首先利用外参(R, t)计算:

Xc = r11*Xw + r12*Yw + r13*Zw + tx
Yc = r21*Xw + r22*Yw + r23*Zw + ty
Zc = r31*Xw + r32*Yw + r33*Zw + tz

🚩 步骤②:相机坐标 → 图像坐标(内参转换)

利用内参矩阵K计算图像坐标(u,v):

u = fx * (Xc/Zc) + cx
v = fy * (Yc/Zc) + cy

(u,v)即为物体在图像上的坐标。


🚀 Python代码完整案例(可直接运行)

import numpy as np

# 相机内参矩阵 K
K = np.array([[800, 0, 320],
              [0, 800, 240],
              [0, 0, 1]])

# 相机外参 (旋转矩阵 R 和平移向量 t)
R = np.eye(3)  # 相机无旋转
t = np.array([[0], [0], [-500]])  # 相机位于世界坐标系Z轴负方向500mm

# 世界坐标中物体坐标Pw
Pw = np.array([[100], [50], [100]])

# 世界坐标转相机坐标
Pc = np.dot(R, Pw) + t

# 相机坐标转图像坐标
uv = np.dot(K, Pc / Pc[2])

print("物体在图片上的坐标(u,v):", uv[:2].flatten())

📚 知识点快速总结

参数含义
内参相机自身的光学参数(焦距、主点、倾斜)
外参相机在世界坐标中的位置与方向(旋转、平移)
焦距决定图像视野范围和物体大小
计算过程世界坐标 → 相机坐标(外参);相机坐标 → 图像坐标(内参)

以上为CSDN兼容的标准Markdown格式,复制后公式显示完全正常!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我也要当昏君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值