裁剪和缩放对相机内参的影响
·3 分钟阅读·更新于 2026-10-23
对图像做裁剪或缩放后,如果还要使用它进行投影、反投影等几何计算,就需要同步更新相机内参。
采用 OpenCV 针孔相机模型的记号,内参矩阵为:
K=fx000fy0cxcy1
其中,fx、fy 是以像素为单位的焦距,(cx,cy) 是主点坐标。以下均以图像左上角为坐标原点。

裁剪:焦距不变,主点平移
裁剪不会改变像素的尺度,因此 fx、fy 保持不变;变化的是主点相对于新图像原点的位置。
假设裁剪区域的左上角位于原图的 (Δx,Δy),那么:
cx′=cx−Δx,cy′=cy−Δy
所以,只从右侧或底部裁剪时,图像原点不变,内参无需调整;从左侧或顶部裁剪时,则要减去相应的裁剪像素数。
缩放:焦距和主点一起缩放
设原图尺寸为 W×H,缩放后为 W′×H′。定义:
sx=WW′,sy=HH′
按 u′=sxu、v′=syv 的坐标变换,新的内参为:
K′=sxfx000syfy0sxcxsycy1
等比例缩放时,sx=sy=s。例如,将宽高都缩小到原来的 1/α,四个参数都应除以 α。
先裁剪,再缩放
把两步合起来,就得到:
K′=sxfx000syfy0sx(cx−Δx)sy(cy−Δy)1
例如,先从左侧裁掉 100 像素,再将图像缩小到一半,新的横向主点坐标就是 (cx−100)/2。如果先缩放再裁剪,裁剪偏移量应按缩放后的像素坐标计算。
以上公式采用直接缩放像素坐标的约定。需要与具体图像库逐像素对齐时,还应核对其像素中心和插值采样约定。