By carefully reading the MATLAB and OpenCV source code, fortunately I discovered part of the reason for the time-consuming process, which lies mainly in the differences in the design of the two:
1. Matlab's ransac's fitting function fitFunc solves for the model parameters directly using SVD, whereas OpenCV brings in the solution directly through the analysis results, which does redundancy in computational resources to some extent;
2. the last part of Matlab's ransac also uses recomputing the model parameters based on all the inlier points (recomputeModelFromInliers field name), which increases the time consuming to some extent, but this ensures the robustness of the results, which is more reliable than OpenCV results! In this section, SVD solving for optimal parameters is essential!
3. All geometric transformation functions used by Matlab for estimation are computed based on its own m-language, whereas OpenCV-python uses C++ in underlying.
To summarise: MATLAB is a bit time-consuming (especially when there are a lot of mismatched points), but provides more stable and reliable results than OpenCV.
Reference
robust least squares fit for circle (note: ransac fit based on all inlier points)
-------------------------Off-topic interlude, 2024-------------------------------
I am currently looking for a job in the field of CV algorithm development, based in Shenzhen, Guangdong, China,or a remote support position. I would be very grateful if anyone is willing to offer me a job or make a recommendation. My preliminary resume can be found at: https://cuixing158.github.io/about/ . Thank you!
Email: cuixingxing150@gmail.com