Detecção de subimagem 2D em Open CV

Qual é o algoritmo mais sensato, ou combinação de algoritmos, a ser usado no OpenCV para o seguinte problema:

Eu tenho um conjunto de pequenas imagens 2D. Quero detectar os locais dessas sub-imagens em uma imagem maior.As sub-imagens são geralmente de 32 x 32 pixels e a imagem maior, de 400 x 400.As sub-imagens nem sempre são quadradas e contêm canal alfa.Opcionalmente - a imagem maior pode ser granulada, compactada, girada em 3D ou distorcida levemente

Eu tentei o cvMatchTemplate, com resultados muito ruins (difícil de corresponder corretamente e grande número de falsos positivos, com todos os métodos de correspondência). Alguns dos problemas vêm do fato de o OpenCV não conseguir lidar com a correspondência de modelos de canal alfa.

Eu tentei uma pesquisa manual, que parece funcionar melhor e pode incluir o canal alfa, mas é muito lenta.

Obrigado por qualquer ajuda.

questionAnswers(1)

yourAnswerToTheQuestion