Open poledna opened 3 years ago
I suspect that 0*intrinsics.distortionCoeffs()
was added because the mono detector works on rectified images. So the distortions are already corrected. @EaiPool can you confirm this?
I don't know what OpenCV version we tested on before. We worked on the package with ROS Kinetic and ROS Melodic. We used the OpenCV version that gets installed with ROS.
@poledna @RonaldEnsing Hello, I would like to ask about your mono and lidar modality optimized rmse? The result I ran was 0.4, which looks a little big.
While working with the Mono Detector Node I noticed it was failing with segmentation faults and not publishing the messages to the topic
/mono_pattern
, after debugging I've noticed that the issue was on the following statements:Firstly on this line: https://github.com/tudelft-iv/multi_sensor_calibration/blob/232f5c4a1a9e33f409363bec03cebd497c41e546/mono_detector/src/lib/pnp.cpp#L66 I had some issue with the matrix creation, and the statement that solved this for me was:
cv::Mat result(1, 4, CV_32FC2);
then on this line: https://github.com/tudelft-iv/multi_sensor_calibration/blob/232f5c4a1a9e33f409363bec03cebd497c41e546/mono_detector/src/lib/pnp.cpp#L88 I truly do not understand why is there a
0*intrinsics.distortionCoeffs()
because it was the culprit of a segmentation error.I assume all of this is an issue with my opencv version (4.5.4). If it all possible could you check exactly which one is required?
Thank you for the very good work I am looking forward to working more with it now that I have passed this small stage.
And before I leave this issue, I would like to point out that I am amazed by the code written in C++ that you wrote, it is simply beautiful! not easy to be understood sometimes but very impressive. I would have only made a couple different methods because of my writing style.
Yuri.