Следующее является довольно упрощенным подходом к проблеме и не будет хорошо работать с двумя разными фотографиями одного и того же объекта, сделанными под немного разными углами, но сработает, если у вас будет две копии одного изображения, которые вы хотите проверить .
Случай двух идентичных изображений прост - просто переберите пиксельные массивы, вычитая значение RGB из другого. Если разница меньше, чем небольшой допуск, то пиксель идентичен. Таким образом, как только вы обнаружите, что разница в пикселях превышает допуск, вы узнаете, что изображения отличаются.
Вы можете разрешить определенное количество или процентную долю различий, чтобы учесть различия, вызванные артефактами сжатия.
Чтобы проверить изменения цвета, вместо этого вы можете посмотреть значения HLS (оттенок, яркость и насыщенность). Если пиксели имеют одинаковые значения L & S, но другое значение H, то это просто цвет, который отличается (я думаю).
Обрезка является более сложной, поскольку вам нужно найти местоположение меньшего изображения в большем.