Не имея абсолютно никаких полномочий или опыта в этой области, я попытаюсь помочь вам.
Я бы начал с сопоставления пропорций с некоторым допуском, если только вы не сравниваете обрезанные участки изображений, что усложнит ситуацию.
Затем я отсканировал бы пиксели на предмет областей сходства, без точности, опять же, необходим уровень допуска. Затем, когда область похожа, бегите по прямой линии, сравнивая одну с другой, и найдите другую область такого же цвета. Черно-белое будет сложнее.
Если вы получите удар, у вас будет две области в линии с пятнами подобия. С двумя точками у вас есть эталон длины между ними, и теперь вы можете видеть, каким может быть масштабирование. Вы также можете сначала масштабировать изображения, но это не учитывает обрезанные участки, где аспекты не совпадают.
Теперь выберите случайную точку на исходном изображении и получите информацию о цвете. Затем, используя масштабный коэффициент, найдите ту же самую случайную точку на другом изображении и посмотрите, проверяется ли цвет. Сделайте это несколько раз со случайными точками. Если многие из них оказываются похожими, это скорее всего копия.
Возможно, вы захотите пометить его для дальнейшего, более интенсивного использования процессора, проверки. Пиксельное сравнение или что-то еще.
Я знаю, что Microsoft (Photosynth) использует фильтры типа «контур» (что-то вроде Photoshop), чтобы удалять цвета изображения и оставлять только квадратные линии, которые оставляют только «компоненты» изображения для сопоставления (они соответствуют границам и пересекаться).
Для скорости я бы разбил проблему на куски и действительно подумал о том, как люди решают, что две фотографии похожи. Для не скорости, исчерпывающее сравнение цветов, вероятно, приведет вас туда.
Процесс вкратце:
Если вы случайно перфорировали лист бумаги 4 раза, а затем поместите его поверх двух фотографий, просто увидев сквозные цвета, вы сможете определить, являются ли они копией и нуждаются ли в дальнейшей проверке.