What's the most sensible algorithm, or combination of algorithms, to be using from OpenCV for the following problem:
- I have a set of small 2D images. I want to detect the locations of these subimages in a larger image.
- The subimages are usually around 32x32 pixels, and the larger image is around 400x400.
- The subimages are not always square, and such contains alpha channel.
- Optionally - the larger image may be grainy, compressed, rotated in 3D, or otherwise slightly distorted
I have tried cvMatchTemplate, with very poor results (difficult to match correctly, and large numbers of false positives, with all match methods). Some of the problems come from the fact OpenCV can't seem to deal with alpha channel template matching.
I have tried a manual search, which seems to work better, and can include the alpha channel, but is very slow.
Thanks for any help.