Porównywanie obrazu w url do obrazu w systemie plików w Pythonie
Czy istnieje szybki i łatwy sposób dokonania takiego porównania?
Znalazłem kilka pytań porównujących obraz z stackoverflow, ale żadna z nich nie dowiodła odpowiedzi na to pytanie.
Mam pliki obrazów w moim systemie plików i skrypt, który pobiera obrazy z adresów URL. Chcę sprawdzić, czy obraz w adresie URL jest już taki sam jak na dysku. Zwykle ładowałbym obraz na dysk i adres URL do obiektu PIL i korzystałem z następującej funkcji, którą znalazłem:
def equal(im1, im2):
return ImageChops.difference(im1, im2).getbbox() is None
ale to nie działa, jeśli obraz został zapisany na dysku za pomocą PIL, ponieważ jest kompresowany, nawet jeśli jakość zmieni się na 100im1.save(outfile,quality=100)
.
Mój kod jest obecnie następujący:http://pastebin.com/295kDMsp ale obraz zawsze zostaje ponownie zapisany.