Question

I have a 3D matrix (very large, let call it L) and a 3D small one (very small, let call it S) and want to use OpenCV to find the closest pattern in L.

Does OpenCV do it for me? If yes, how I should use it? Thanks.

Was it helpful?

Solution

No, OpenCV doesn't have anything for this.

OTHER TIPS

What you need is the Point Cloud Library, which is an open source library to work with 3D data. I can tell you from my experience, that learning to use this library is very similar to learning OpenCV because many developers work for Willow Garage, the main sponsor of OpenCV.

If you go to the PCL tutorials you will find three useful sections to solve your problem:

1) finding features in your 3D point cloud, that you can later use for matching

2) 3D object recognition based on correspondence grouping

3) Point cloud registration using methods like iterative closest point, and feature matching

Do you have sparse pointcloud or just 3-dim matrix?

For 3-dim matrix you can use phase correlation using FFT. Good library is FFTW

OpenCV has added some neat tools to accomplish this kind of task

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top