Bootstrap

缩放 对内外参的影响

当你对图像进行同比例缩小时,图像的内参需要相应地变化,但外参通常保持不变。

相机内参

相机内参(内参矩阵)描述了相机的固有属性,包括焦距和主点(光轴与图像平面的交点)的坐标。

当你对图像进行同比例缩小时,焦距和主点坐标也需要根据缩放比例进行相应缩小。例如,如果图像缩小了一半,焦距和主点坐标也应缩小为原来的一半。

相机外参

相机外参描述了相机的姿态(位置和方向),通常表示为一个旋转矩阵和一个平移向量。

相机外参描述了相机在世界坐标系中的位置和方向,与图像的缩放无关。因此,相机外参在图像缩放时保持不变。

import numpy as np

def adjust_intrinsics(K, scale):
    """
    根据缩放比例调整相机内参。

    :param K: 原始内参矩阵
    :param scale: 缩放比例
    :return: 调整后的内参矩阵
    """
    K_new = K.copy()
    K_new[0, 0] *= scale  # 调整 f_x
    K_new[1, 1] *= scale  # 调整 f_y
    K_new[0, 2] *= scale  # 调整 c_x
    K_new[1, 2] *= scale  # 调整 c_y
    return K_new

# 示例内参矩阵
K = np.array([
    [1200, 0, 640],
    [0, 1200, 480],
    [0, 0, 1]
])

# 缩放比例
scale = 0.5

# 调整后的内参矩阵
K_new = adjust_intrinsics(K, scale)

print("原始内参矩阵:\n", K)
print("调整后的内参矩阵:\n", K_new)

;