Вы можете использовать библиотеку imagehash для сравнения похожих изображений.
from PIL import Image
import imagehash
hash0 = imagehash.average_hash(Image.open('quora_photo.jpg'))
hash1 = imagehash.average_hash(Image.open('twitter_photo.jpeg'))
cutoff = 5
if hash0 - hash1 < cutoff:
print('images are similar')
else:
print('images are not similar')
Поскольку изображения не совсем одинаковые, будут некоторые различия.Но imagehash будет работать, даже если изображения будут изменены, сжаты, в разных форматах файлов или с отрегулированным контрастом или цветами.
Хеш (или отпечаток пальца, на самом деле) получен из 8x8 монохромного эскиза изображения.Но даже при такой уменьшенной выборке сравнения подобия дают довольно точные результаты.Отрегулируйте отсечение, чтобы найти приемлемый баланс между ложными срабатываниями и ложными отрицаниями.