当你对图像进行同比例缩小时,图像的内参需要相应地变化,但外参通常保持不变。
相机内参
相机内参(内参矩阵)描述了相机的固有属性,包括焦距和主点(光轴与图像平面的交点)的坐标。
当你对图像进行同比例缩小时,焦距和主点坐标也需要根据缩放比例进行相应缩小。例如,如果图像缩小了一半,焦距和主点坐标也应缩小为原来的一半。
相机外参
相机外参描述了相机的姿态(位置和方向),通常表示为一个旋转矩阵和一个平移向量。
相机外参描述了相机在世界坐标系中的位置和方向,与图像的缩放无关。因此,相机外参在图像缩放时保持不变。
python
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)