Lidar calibration with fixed intrinsic parameters

3 次查看(过去 30 天)
Hi, I have a calibration data which is,
Angle : LR, UD, Rot
-14.144831,-0.008000,0.000249
TranslationMatrix
-0.010000,-0.090000,-0.135700
intrinsicCameraParameter
1055.465497,1055.605856,969.483445,603.504962,-0.146335,0.063113,-0.001973,0.000488
and I wonder if there's a way that I can apply these parameters for lidar-camera calibration in MATLAB.

回答(1 个)

Maneet Kaur Bagga
Hi Seungryul Lee,
Please follow the steps provided below to apply these parameters for Lidar-Camera Calibration:
  • Load the Calibration data in MATLAB by either reading the data from a file or directly assigning the values to the variables.
  • You can create the "cameraIntrinsics" object using the provided Intrinsic Camera Parameter as shown in the code provided below.
focalLength = [1055.465497, 1055.605856];
principalPoint = [969.483445, 603.504962];
radialDistortion = [-0.146335, 0.063113];
tangentialDistortion = [-0.001973, 0.000488];
intrinsics = cameraIntrinsics(focalLength, principalPoint,'RadialDistortion', radialDistortion, ...
'TangentialDistortion', tangentialDistortion);
  • Create a transformation Matrix that represents the rotation and translation between the lidar, and the camera coordinate systems as shown in the code provided below.
rotationAngles = [-14.144831, -0.008000, 0.000249];
translationVector = [-0.010000, -0.090000, -0.135700];
rotationMatrix = eul2rotm(deg2rad(rotationAngles), 'XYZ');
translationMatrix = translationVector';
extrinsics = rigidtform3d(rotationMatrix, translationMatrix);
Now you can apply the intrinsic and extrinsic calibration parameters to the lidar and camera data:
  • For lidar data, you can transform the lidar points to the camera coordinate system using the "transformPointsForward" function as shown in the code provided below.
lidarPoints = ... % Your lidar data, Nx3 matrix
cameraPoints = transformPointsForward(extrinsics, lidarPoints);
  • For camera data, you can undistort the distorted image points using the “undistortPoints” function as shown in the code provided below.
distortedImagePoints = ... % Your distorted image points, Nx2 matrix
undistortedImagePoints = undistortPoints(distortedImagePoints, intrinsics);
For better understanding please refer to the following MATLAB Documentations provided below:
cameraParameters
cameraIntrinsics
rigidtform3d
I hope this helps!
Thank You
Maneet Bagga

类别

Help CenterFile Exchange 中查找有关 Labeling, Segmentation, and Detection 的更多信息

标签

产品


版本

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by