heethesh / lidar_camera_calibration

Light-weight camera LiDAR calibration package for ROS using OpenCV and PCL (PnP + LM optimization)
BSD 3-Clause "New" or "Revised" License
528 stars 117 forks source link

why you can use solvepnpRANSAC,but i can't #35

Closed enting8696 closed 3 years ago

enting8696 commented 3 years ago

I refer to your method of using success, rotation_vector, translation_vector, inliers = cv2.solvePnPRansac(points3D,points2D,camera_matrix,dist_coeffs,flags=cv2.SOLVEPNP_ITERATIVE

I know that this method was originally for the correction between camera image frames But when clicking 3d(velodyne coordinate) and 2d(pixel coordinate) points, the four points are all on the same plane So this method may be ok

In this paper : https://arxiv.org/abs/2003.04260 in Fig.4 They have 100 points(velodyne coordinate) and use RANSAC to get inlier points And they say they use IPPE method to find extrinsic between lidar and camera I pick 3D points inlier and corresponding 2d point Why I use success, rotation_vector, translation_vector, inliers = cv2.solvePnPRansac(points3D,points2D,camera_matrix,dist_coeffs,flags=cv2.SOLVEPNP_IPPE return wrong so far

can you give mesome advice how they do that ? Thanks!