相机坐标到像素坐标opencv
camera coordinate to pixel coordinate opencv
我对opencv相机标定坐标转换很困惑。我使用示例代码来校准我的相机,我得到了这个结果:
当我用这个相机矩阵乘以相机坐标系中的一个点时,假设P = [50, 50, 1.35],输出结果太大,不可能是像素坐标。这里出了什么问题?我错过了什么吗?
图片为1920 x 1080,这是棋盘配置文件信息:
你可以在OpenCV中找到documentation the different equations for the perspective projection model, also illustrated in the following pictures (thanks to this link).
假设相机坐标系Fc
中的一个点P=(X,Y,Z)
,其在归一化相机坐标系中的坐标为:
x' = X/Z
y' = Y/Z
及其在图像平面上的投影(假设没有失真):
u = fx * x' + cx
v = fy * y' + cy
使用 fx
和 fy
像素的焦距以及 cx
、cy
图像中主点的坐标。
在你的情况下,你的 Z 距离相机 1.35,但其他 2 个坐标与 Z 坐标相比太远了。
数学上没有问题,只是你的点P对你的相机不可见。
我对opencv相机标定坐标转换很困惑。我使用示例代码来校准我的相机,我得到了这个结果:
当我用这个相机矩阵乘以相机坐标系中的一个点时,假设P = [50, 50, 1.35],输出结果太大,不可能是像素坐标。这里出了什么问题?我错过了什么吗?
图片为1920 x 1080,这是棋盘配置文件信息:
你可以在OpenCV中找到documentation the different equations for the perspective projection model, also illustrated in the following pictures (thanks to this link).
假设相机坐标系Fc
中的一个点P=(X,Y,Z)
,其在归一化相机坐标系中的坐标为:
x' = X/Z
y' = Y/Z
及其在图像平面上的投影(假设没有失真):
u = fx * x' + cx
v = fy * y' + cy
使用 fx
和 fy
像素的焦距以及 cx
、cy
图像中主点的坐标。
在你的情况下,你的 Z 距离相机 1.35,但其他 2 个坐标与 Z 坐标相比太远了。
数学上没有问题,只是你的点P对你的相机不可见。