相机坐标到像素坐标opencv

时间:2016-07-21 03:41:21

标签: opencv camera-calibration

我对opencv相机校准坐标转换感到困惑。我使用示例代码来校准我的相机,我得到了这个结果:

enter image description here

当我使用这个相机矩阵乘以相机坐标系中的一个点时,比如P = [50,50,1.35],输出结果太大,不可能是像素坐标。这有什么不对?我错过了什么吗?

图像为1920 x 1080.这是棋盘配置文件信息:

enter image description here

1 个答案:

答案 0 :(得分:3)

您可以在OpenCV documentation中找到透视投影模型的不同方程式,如下图所示(感谢link)。

Camera model

假设相机框架P=(X,Y,Z)中有一个点Fc,其在标准化相机框架中的坐标为:

x' = X/Z
y' = Y/Z

它在图像平面上的投影(假设没有失真):

u = fx * x' + cx
v = fy * y' + cy

fxfy焦距以像素为单位,cxcy是图像中主要点的坐标。

在你的情况下,你的Z距离相机1.35,但是其他2个坐标与Z坐标相比太远了。

数学上没有问题,只是你的相机P看不到你的P点。