简体   繁体   English

Matlab校准工具箱的摄像头框架中的单位

[英]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是相机内部函数的矩阵, Rt是相机外部函数。 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. 发生这种情况的原因是,您将以像素为单位的xy除以同样以像素为单位的焦距fxfy So pixels cancel out. 因此像素抵消了。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM