应用笔记27-Vzense 3D ToF相机坐标选取

编辑:Sophia.feng 时间: 2025-4-1

机器视觉场景中相机与机器人的标定影响着数据的准确性,那么选取正确的相机坐标就十分重要,本文详细介绍了Vzense 3D ToF相机坐标如何选取。

什么是相机坐标的原点?

相机坐标系的原点是相机的镜头中心,x轴与y轴与图像的X,Y轴平行,z轴为相机光轴,它与图像平面垂直,实际场景应用中,用户根据相机坐标的原点正确安装相机的位置,可以在相机视场内获得更多的图像数据,有利于机械臂进行抓取等工作。

Vzense 3D ToF相机坐标的原点

Vzense 3D ToF相机包含RGB相机和ToF(Time of Flight)相机,如下图所示:

每一个相机都有一个坐标系,分别是ToF坐标系和RGB坐标系,用户可以根据需求选择任意一个坐标系作为相机坐标系。

1、如果使用ToF坐标系作为相机坐标系,则坐标系的原点位置如下图所示:

X 轴的坐标原点位于距离产品下边沿25mm 的位置;
Y 轴的坐标原点位于距离产品左边沿52.3mm 的位置;
Z 轴的坐标原点位于镜片的前表面。

2、如果使用RGB坐标系作为相机坐标系,则坐标系的原点位置如下图所示:

X 轴的坐标原点位于距离产品下边沿25mm 的位置;
Y 轴的坐标原点位于距离产品左边沿21.55mm 的位置;
Z 轴的坐标原点位于镜片的前表面。

什么是相机主点坐标(Cx,Cy)?

相机主点坐标是图像传感器的中心。

Vzense 3D ToF相机主点坐标获取

相机出厂前需要进行标定设置,该设置会将相机内参信息写入相机内部。用户可以通过API获取当前相机的内参信息,得到相机主点坐标。

ScStatus scGetSensorIntrinsicParameters(ScDeviceHandle device, ScSensorType sensorType, ScSensorIntrinsicParameters* pSensorIntrinsicParameters);


typedef struct
{
    double fx;   //!< Focal length x (pixel).
    double fy;   //!< Focal length y (pixel).
    double cx;   //!< Principal point x (pixel).
    double cy;   //!< Principal point y (pixel).
    double k1;   //!< Radial distortion coefficient, 1st-order.
    double k2;   //!< Radial distortion coefficient, 2nd-order.
    double p1;   //!< Tangential distortion coefficient.
    double p2;   //!< Tangential distortion coefficient.
    double k3;   //!< Radial distortion coefficient, 3rd-order.
    double k4;   //!< Radial distortion coefficient, 4st-order.
    double k5;   //!< Radial distortion coefficient, 5nd-order.
    double k6;   //!< Radial distortion coefficient, 6rd-order.
} ScSensorIntrinsicParameters;

可以参考例程:
\BaseSDK\Windows\Samples\Base\DS87\DeviceParamSetGet。

1、如果使用ToF坐标系作为相机坐标系,就需要使用ToF相机内参中的主点坐标,调用形式如下:

	ScSensorIntrinsicParameters cameraParameters;
	status = scGetSensorIntrinsicParameters(deviceHandle, SC_TOF_SENSOR, &cameraParameters);

2、如果使用RGB坐标系作为相机坐标系,就需要使用RGB相机内参中的主点坐标,调用形式如下:

	ScSensorIntrinsicParameters cameraParameters;
	status = scGetSensorIntrinsicParameters(deviceHandle, SC_COLOR_SENSOR, &cameraParameters);

如何获取目标物体在相机坐标系下的三维坐标(即点云转换)?

点云转换是将深度图像中的每个像素点转换为三维空间中的点,点云转换需要使用相机主点(Cx,Cy)和深度值。因此,根据目标图像类型选取正确的相机坐标系、相机主点是获取相机坐标下三维坐标数据的关键。

相关文章

How can we support you?

We will be happy to advise you on product selection and find the right solution for your application.