[英]Units in the camera frame of the matlab's calibration toolbox
What is the units of the coordinates in camera frame by using matlab's camera calibration toolbox? 使用matlab的相机校准工具箱,相机框架中坐标的单位是什么? Say I transform some points in pixels to camera's frame, what are the units?
假设我将像素的一些点转换为相机的帧,单位是什么? Is there some possible way of knowing?
有什么可能的认识方法吗?
I found this similar question , but no definite answer. 我发现了类似的问题 ,但没有明确的答案。
Can you please clarify how exactly you are transforming those points? 您能说明一下您是如何精确转换这些观点的吗?
The pin-hole camera model looks like this: 针孔相机模型如下所示:
w*[x,y,1] = [X,Y,Z,1]*[R;t]*K
[X,Y,Z]
are the world coordinates in world units (eg millimeters), and [x,y]
are the image coordinates in pixels. [X,Y,Z]
是以世界单位(例如,毫米)表示的世界坐标, [x,y]
是以像素为单位的图像坐标。 K
is the matrix of camera intrinsics, and R
and t
are the camera extrinsics. K
是相机内部函数的矩阵, R
和t
是相机外部函数。 w
is an arbitrary scale factor. w
是任意比例因子。
If you take a world point [X,Y,Z,1]
and multiply it by [R;t]
, then you get a point in a "camera's coordinate system", where the origin is at the focal point, and the units are the same as in your world coordinates (eg millimeters). 如果您获得一个世界点
[X,Y,Z,1]
并乘以[R;t]
,那么您将在“相机坐标系”中得到一个点,其中原点位于焦点处,并且单位与您的世界坐标相同(例如,毫米)。
If you take a point in the image [x,y,1]
and multiply it by the inverse of K
, then you get a point in "normalized image coordinates", where the origin is at the optical center, and the axis have no units. 如果在图像
[x,y,1]
取一个点并将其乘以K
的倒数,则将在“归一化图像坐标”中获得一个点,该点的原点位于光学中心,并且轴没有单位。 This happens because you are dividing x
and y
in pixels by the focal length fx
and fy
, which is also in pixels. 发生这种情况的原因是,您将以像素为单位的
x
和y
除以同样以像素为单位的焦距fx
和fy
。 So pixels cancel out. 因此像素抵消了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.