Matching Partially Occluded/Non-Textured Shapes
I am using OpenCV 3.1 with VS2012 C++/CLI on a Win10 machine.
I am trying to match shapes that are reflective and non-textured. The items may also be rotated, at slightly different scale, translated, and/or partially occluded. Further, there maybe or will be multiple instances of the item in the image. My question is what is the best way to approach recognition of something like this? Because the items are non-textured, the various keypoints approaches do not appear appropriate. Using contours - matchshapes work well, except for instances of occlusion.
While I see papers out there about partial contour matching, before I go down the route of trying to implement something like that, I am hoping that someone can let me know if I am on the right track or should go in a different direction.
Here is a sample of the contours of a an item to be recognized:
Here is an example of an actual query image:
In this example, the isolated spoon at top is found by matchshapes but the occluded spoons are not.
Any guidance appreciated.
Try the GeneralizedHough transforms. With rotation, you probably want the Guil
Thanks. I will try that. Is there a place where I could find an example implementation?
Yeah, t's in samples\gpu. You can use the CPU version though, so it's still good.