‘PointSetRegistrator’ is not a member of ‘cv’

asked 2020-05-18 03:30:21 -0500

devanshbatra04 gravatar image

I am trying to write some code for point cloud segmentation using Sample Consensus in OpenCV as part of GSoC 2020.

This would eventually live in opencv_contrib, but involves heavy use of RANSAC which is in OpenCV's calib3d module.

Cutting to the chase, I need to write a RANSAC PointSet Registrator like in


But trying to access both PointSetRegistrator and createRANSACPointSetRegistrator outside of OpenCV, I get compile error "‘PointSetRegistrator’ is not a member of ‘cv’".

But I can clearly see in the source code that these classes are exported using CV_EXPORT.

Please let me know how I can use OpenCV's RANSAC functions outside of OpenCV.

edit retag flag offensive close merge delete



it's in precomp.hpp, in the calib3d src folder, so unfortunately "package private"

berak gravatar imageberak ( 2020-05-18 04:05:37 -0500 )edit

How should I go about it? OpenCV's GSoC project heavily depends RANSAC but it doesn't make sense for me to reinvent the wheel in contrib.

devanshbatra04 gravatar imagedevanshbatra04 ( 2020-05-18 04:16:56 -0500 )edit

I am working on the project idea #9 Add Robust Plane/Sphere/Cylinder Fitting into 3D Point Clouds

devanshbatra04 gravatar imagedevanshbatra04 ( 2020-05-18 04:17:45 -0500 )edit

raise an issue about it ? probably the function definitions can be moved to some public calib3d header ?

berak gravatar imageberak ( 2020-05-18 04:25:35 -0500 )edit

On it. Already drafted the issue. Thanks!

devanshbatra04 gravatar imagedevanshbatra04 ( 2020-05-18 04:26:36 -0500 )edit