Opencv_contrib - Surface matching issue
Hi everyone,
I have an issue with using surface matching module. Now the example with parasaurolophus_6700.ply and rs1_normals.ply works just fine, but I am working with pointclouds and dont have normals in my generated ply files. Now there is a function what generates these normals for you (computeNormalsPC3d), but im not sure it produces the results I expect.
I tried many different combinations, but none of the results work. I wanted to test this function on the example itself and the results were as bad as you can expect.
After loading the rs1_normals.ply file into cv::Mat I then performed normal computation overwriting the normals inside original file. At first outptu window showed okay-ish results, but when I imported results into meshlab - the orientation was way off.
The white mesh is the parasaurolophus, the dense green point cloud is the rs1_normals.ply with new normals and the point clound on the right is the result.
If I pass the original rs1_normals into match, result fits nice.
In my original work, I used structured light to get the model's point cloud; the physical measurements work and the point cloud is as accurate as you can be. Now, since normals play a major role when using surface matching module, I am kinda stuck on how to proceed.
Is there an alternative way of getting results I want here? Thanks