'OpenCV contrib / Surface Matching / Demo script wrong result / Python / Point Pair Features (PPF)

Installed versions:
opencv-contrib-python 4.5.4.60
opencv-python 4.5.4.58

I try to run the demo python script (ppf_load_match.py) for surface matching in the opencv_contrib. For visualization I open the scene model and the result point cloud in meshlab. I guess both should be aligned correctly. But the alignment seems to be quite off.

Here is a screenshot from meshlab, where you can see the misalignment: screenshot

Can you help me? As far as I have seen the alignment with the demo point clouds should be better.

In this video you can see the result I would expect. I haven't made any changes in the demo script.



Solution 1:[1]

I found the problem. Just had to change the following line/parameter.

results = detector.match(pcTest, 1.0/40.0, 0.05)

to

results = detector.match(pcTest, 0.5, 0.05)

Result with changed parameter

Have a look into this issue, there it is explained.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1