Ich verschiebe derzeit ein Skript, das lokale sensible Hashes von Bildern von einem Windows-Host zu einem debian-Host erstellt.
Mein Problem ist Kissen liefert unterschiedliche Bilddaten aus dem gleichen Quellbild auf beiden Plattformen.
Ich habe nur dieses Verhalten für JPEGs beobachtet.
Testfall:Verschiedene Bilddaten aus der gleichen Quelle mit Kissen
from PIL import Image
import md5
import urllib2
from cStringIO import StringIO
urls = ("https://i.imgur.com/Mx6NQwM.jpg","https://i.imgur.com/MN1TKu5.png")
print("VERSION %s" % Image.VERSION)
for url in urls:
response = urllib2.urlopen(url).read()
img = Image.open(StringIO(response)).convert("RGB")
img_md5 = "".join("".join(map(chr, x)) for x in img.getdata())
print("URL: %s" % url)
print("Plain md5:\t%s" % md5.new(response.read()).hexdigest())
print("Image md5:\t%s" % md5.new(img_md5).hexdigest())
Sollte das gleiche md5 Hashes auf beiden Systemen zurück. Meine Ergebnisse:
Windows 7:
VERSION 1.1.7
URL: https://i.imgur.com/Mx6NQwM.jpg
Plain md5: 4aacd5b92575ffca6d0ab884f95cc1f9
Image md5: 10eaf568f4d9d33c722ea702fc4d1025
URL: https://i.imgur.com/MN1TKu5.png
Plain md5: d05e6dc1311339b806e5998f15fc818c
Image md5: 38fc986c5cd9605038ee627b11687344
Debian jessie:
VERSION 1.1.7
URL: https://i.imgur.com/Mx6NQwM.jpg
Plain md5: 4aacd5b92575ffca6d0ab884f95cc1f9
Image md5: 7347c6286f4d917649d967a5025e392e
URL: https://i.imgur.com/MN1TKu5.png
Plain md5: d05e6dc1311339b806e5998f15fc818c
Image md5: 38fc986c5cd9605038ee627b11687344
Die LSHS sind etwas ähnlich, aber unterschiedlich genug für sie problematisch.
Die Kissenversion auf beiden Systemen ist 2.9.0.
Gibt es eine Möglichkeit, den gleichen Pixelwert auf dem Debian-System zu bekommen, wie ich auf den Windows-One bekomme?
Und allgemein: Weiß jemand, warum das passiert?
Nur um sicherzustellen, dass Pillow die jpeg-Datei auf beiden Systemen korrekt verarbeitet, haben Sie versucht, die Daten anzuzeigen oder sie in ein PNG umzuwandeln und dann die MD5 auf beiden Systemen zu berechnen? –
@SteveBarnes Habe es einfach ausprobiert und die Bilder sehen korrekt aus und die Konvertierung nach PNG ergab die erwarteten Ergebnisse (unterschiedlich für das erste Bild, dasselbe für das zweite Bild) – SleepProgger