Clear Filters
Clear Filters

Lidar calibration with fixed intrinsic parameters

12 views (last 30 days)
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.

Answers (1)

Maneet Kaur Bagga
Maneet Kaur Bagga on 7 Sep 2023
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

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!