Обычно для таких вещей используют алгоритмы поиска особых точек
SIFT или
SURF. Есть библиотеки
OpenCV и
CCV. Существуют примеры поиска эталонной картинки внутри другой картинки с использованием этих алгоритмов. Есть интересная
статья. Есть приложение для Android c открытым исходным кодом
Darwin Wallet, которое способно денежные купюры распознавать. Это приложение есть в
маркете. Работает это довольно быстро и уверенно, есть
видео на youtube. Ничего сверхестественного от устройства не требуется. Приложение требует наличия камеры с автофокусом, но это легко исправить в исходниках. Можете попробовать его вазам вместо купюр научить.