FrankieB: EXIF-Header auswerten

Beitrag lesen

Hallo Christoph,

Auch welche, die nicht in den Specs standen? Ich bin da zwar nur eben druebergeflogen aber mir schien die Liste doch verdammt lang.

Ja, auch viele die nicht in den Specs stehen. Vielleicht kann exif_read_data() auch nur die Namen der Offsets nicht ermitteln, bzw. kennt exif_read_data() diese Tags einfach nicht. Letzeres ist wohl anzunehmen, da exif_read_data() "UndefinedTag" meldet, manche Tags aber sehr wohl Daten enthalten, die man bei etwas Phantasie sogar selbst interpretieren könnte ;-).

Mit meiner Kamera kann ich es leider nicht überprüfen ob das "Orientation"-Tag (richtig) gesetzt wird wenn ich das Bild drehe, da das Bild nur temporär gedreht wird und keine Änderung abgespeichert wird.

Mit Verlaub, aber: hae? Macht das irgendeinen Sinn, den wir augenblicklich nicht verstehen, oder ist die Gebrauchsanleitung so besch...eiden?

Zuerst zum "Orientation"-Tag: Wenn ich
http://www.exif.org/Exif2-2.PDF (Seite 142, Explication Table 3)
richtig verstanden habe, wird dieser bei Rotation explixit auf 1 gesetzt. Daher scheidet er als Kriterium zur Dreh-Erkennung wohl aus.

Also ich kann Bilder in der Vorschau meiner Kamera drehen. Soweit, so gut. Aber das gedrehte Bild wird nicht als gedreht gespeichert. Die Gebrauchsanleitung der Kamera meinst Du? Nein, da steht nichts dazu, enthält lediglich informationen zur Bedienung, nicht aber zur rechnergesteuerten Auswertung.

Nein, Komprimierungsraten haben damit nichts zu tun, das liegt an der unterschiedlichen Implementation. JPEGs haben auch keine Farbpalette, was meintest Du damit genau?

In etwa so:

imagecreatefromjpeg()
imagetruecolortopalette()
http://de.php.net/manual/de/function.imagepalettecopy.php bzw. so ähnlich wie imagepalettecopy_exact() aus den "User Contributed Notes".
...

Die Komprimierungsrate hat in sofern damit zu tun, daß beim Erstellen über imagejpeg ( int im [, string filename [, int quality]] ), bei identischem Orginal, je nach quality, den Pixeln mit gleichen Koordinaten verschiedene Farbwerte zugewiesen werden, was ja auch zu erwarten ist. Dies hat mit Sicherheit auch Auswirkung auf die Farbpalette.

Gut, ich habe mich letzendlich dazu entschlossen, die 3 im Vergleich zum Orginal sinnvollen Drehungen (90, 180, 270 Grad) manuell auswählen zu lassen.

Ja, das menschliche Auge ist nunmal ein unuebertroffener Mustererkenner ;-)

Warum habe ich das nur nicht schon früher erkannt?

Eine automatische Erkennng duerfte auch auf jeden Fall sehr kompliziert werden, das wuerde den Nutzen wahrscheinlich bei weitem uebersteigen. Dafuer braucht man wohl auch mehr Kenntnisse in der Graphikbearbeitung als wir beide zusammen haben ;-)

Das ist wohl wahr ;-)

Mmh ... ich glaueb nicht, das das so funktioniert, JPEG ist eine Kompressionstechnik mit Verlust.

Ja, aber die Verluste müsste doch bei ähnlichen Bildern ähnlich bzw. nachvollziebar sein, sofern die Komprimierungsraten gleich sind, oder?

Ich glaube immer noch, das die Unterschiede zu klein sind, als das sie meine, ja zugegebenermassen ziemlich brutale Hashmethode ueberleben koennten. Hast Du schon irgendetwas an Code fertig?

Den Code werde ich demnächst mal online stellen und zum Test freigeben. Zuvor möchte ich ihn aber noch ein bisschen säubern ;-)

Grüsse
Frankie