Wie kann ich feststellen, ob ein JPEG als progressiv gespeichert wurde?

2253
KArchives

Ich habe eine Reihe von Fotos von einem Fotografen erhalten und muss bestätigen, dass die JPEGs nicht als progressive JPEGs gespeichert wurden. Ich habe Adobe Bridge und Photoshop - wie überprüfe ich das?

4

1 Antwort auf die Frage

2
fixer1234

Einige einfache Methoden:

  1. ImageMagick - Auf der Befehlszeile:
    identify -verbose mystery.jpg | grep Interlace
    Die Ausgabe lautet entweder "Interlace: JPEG" oder "Interlace: None".
  2. Photoshop - Datei öffnen. Auswählen File -> Save for Web & Devices.
    Wenn es sich um ein progressives JPEG handelt, wird das Kontrollkästchen "Progressiv" ausgewählt.
  3. Alle Browser - Baselines-JPEGs werden von oben nach unten geladen, und progressive JPEG-Dateien tun etwas anderes. Wenn die Datei zu schnell lädt, müssen Sie möglicherweise eine Bandbreitenbeschränkung hinzufügen. Ich verwende ipfw auf meinem Mac.

Quelle

Programmatische Methoden

Check out Progressive JPEG erkennen . Der Autor veröffentlicht Links zu einer Reihe von Skripts, die von den Entwicklern entwickelt wurden:

Ein paar identifizierende Bytes können verwendet werden, um die Dateien zu erkennen. Ein progressives DCT-basiertes JPEG kann durch die Bytes "0xFF, 0xC2" identifiziert werden. Progressive JPEG-Bilder enthalten in der Regel mehrere Scans, sodass Sie nach einigen Übereinstimmungen mit „Start of Scan“ suchen können (Bytes: „0xFF, 0xDA“). Der Autor verwendete einen einfachen Bash-Befehl, um genaue Ergebnisse zu erhalten:

>grep -c -P “xffxc2″ progressive1.jpg >1  >grep -c -P “xffxc2″ progressive2.jpg >1  >grep -c -P “xffxc2″ baseline1.jpg >0  >grep -c -P “xffxc2″ baseline2.jpg >0  >grep -c -P “xffxDA” progressive1.jpg >6  >grep -c -P “xffxDA” progressive2.jpg >12 

Der Link enthält auch eine Reihe weiterer nützlicher Tools.

Aktualisieren

Die Handlung wird dicker (danke an Benutzer PussInBoots, der mich auffordert, tiefer zu graben). Bei der Frage wurde gefragt, wie Sie feststellen können, ob ein JPEG als progressiv gespeichert wurde .

  • "Gespeichert unter" scheint eine flexible Bedeutung zu haben. Ich experimentierte und stellte fest, dass das Speichern als progressiv nur bedeutet, dass der Metadatenparameter (Interlace) geändert wurde, die Datei jedoch nicht so geändert wurde, dass sie progressive Scans enthielt. Die Datei enthält also ein einzelnes Bild, und die Rendering-Software soll sie wie ein progressives Bild behandeln.

    Die Art und Weise, wie sich diese "falschen" progressiven Dateien in den oben beschriebenen Tests manifestieren:

    • InageMagick: Der Interlace-Parameter wird als "JPEG" und nicht als "None" gelesen.

    • Photoshop: Die einzige Version von Photoshop, die ich zur Verfügung hatte, ist uralt (Version 7.0). Im Dialogfeld "Für Web speichern" wurde das ProgressiveKontrollkästchen für diese Dateien vorab geprüft, nicht jedoch für Standard-JPEGs.

    • Browser: Mein System und die Internetverbindung sind zu schnell, als dass dies ein nützlicher Test wäre. Unter normalen Bedingungen ist alles nahe genug, um jeden Unterschied nicht zuverlässig unterscheiden zu können.

    • Identifizierende Bytes: Dies scheint ein zuverlässigerer Indikator zu sein. Die "falschen" progressiven JPEGs hatten keines der identifizierenden Bytemuster.

  • Auf die ursprüngliche Frage, wenn einer der obigen Tests darauf hinweist, dass es sich bei der Datei nicht um ein progressives JPEG-Format handelt, können Sie sich darauf verlassen, dass dies nicht der Fall ist. Die „einfachen Methoden“, jedoch oben, erscheinen nicht zuverlässig wahr progressive JPEGs von „falsch“ diejenigen zu unterscheiden, so dass Sie nicht auf sie verlassen, um zu wissen, ob ein JPEG ist wirklich progressiv. Tatsächlich meldet PussInBoots in dem Kommentar, dass Photoshop CS6 eine Standardauswahl als "progressiv" zu haben scheint, so dass die anfängliche Einstellung nichts über die vorhandene Datei sagt.

Das ist falsch: "Photoshop - Datei öffnen. Wählen Sie" Datei ">" Speichern für Web und Geräte ". Wenn es sich um ein progressives JPEG handelt, wird das Kontrollkästchen" Progressiv "aktiviert." Ich habe dies heute in Photoshop CS6 ausprobiert, und wenn das JPEG-Format nicht progressiv ist, wird das Ankreuzfeld immer noch selektiert. PussInBoots vor 8 Jahren 0
@PussInBoots: Danke, dass du dies gemeldet hast. Dies führte zu einigen Enthüllungen, die ich zur Antwort hinzugefügt habe. fixer1234 vor 8 Jahren 0