Wiederherstellung einer beschädigten JPEG-Datei

Ich frage mich, ob es in meiner Situation eine Möglichkeit gibt, beschädigte JPEG-Dateien wiederherzustellen. Beim Kopieren von Dateien von der Kamera-SDD-Karte hatte ich ein Problem/Fehler mit wenigen Dateien, aber ich konnte das Kopieren wiederholen und habe die Dateien danach nicht überprüft. Es schien, dass diese Dateien beschädigt wurden und ich sie nicht öffnen oder wiederherstellen kann, ich habe mehrere JPEG-Wiederherstellungssoftware ausprobiert. Leider wurde die SDD-Karte seit diesem Moment viel verwendet und eine Wiederherstellung davon ist ebenfalls keine Option. In JPEG Snoop kann ich kleinformatige Bilder in meinen Dateien finden, aber sie entsprechen nicht dem tatsächlichen verlorenen Bild. Ich füge ein Beispiel für ein beschädigtes und ein normales Foto bei, das gleichzeitig aufgenommen wurde. Hoffe auf eure Hilfe, danke!

https://drive.google.com/drive/folders/1TXLpc4kseFz9gjDCENREhsbH1HL-J4Dh?usp=sharing

Antworten (1)

Die Datei enthält JPEG-Daten, daher ist es immer möglich, den Header einer bekanntermaßen guten Datei einzukleben, die mit demselben Gerät mit möglichst genau übereinstimmenden Einstellungen (Qualität, Auflösung) aufgenommen wurde. Wenn ich das mache bekomme ich das:

https://drive.google.com/file/d/1vWd0oXmqlcMOQ2CFmA9FQ2hZ0Cq0UHdd/view?usp=sharing

Beachten Sie, dass das Foto in der obigen URL bearbeitet wurde, da es nach dem „Kleben“ auf dem Header-Foto „gewaschen“ aussah, sodass ich es mit Paint.NET verbessert habe.

Also definitiv kein Schrott. Ich habe nur etwa die unteren 5 % des 6000 x 4000 JPEG verloren. Sie können "Random Junk" von JPEG-Daten unterscheiden, indem Sie sich die Entropie und das Fehlen bestimmter Byte-Kombinationen mit einem Hex-Editor wie HxD ansehen.

JPEG-Daten sind komprimierte Daten mit hoher Entropie, irgendwo zwischen 7,8 und 7,98 Bit/Byte. Aber ZIP-Dateien haben auch eine hohe Entropie. Wie kann man also den Unterschied erkennen? Sie können dies tun, indem Sie einen Hex-Editor wie HxD verwenden: JPEG-Bilddaten enthalten im Allgemeinen (es sei denn, die Datei enthält Neustartmarkierungen) keine FF xx-Byte-Kombinationen, es sei denn, xx = 00. Daher wird FF 00 von JPEG akzeptiert, FF A7 nicht. FF 00 wird dekodiert, FF A7 als Marker interpretiert. Die meisten Decoder (Bildbetrachter) melden entweder eine ungültige Markierung oder stoppen einfach die Decodierung, was zu einem teilweise grauen Bild führt.

Tatsächlich gibt es ein kleineres eingebettetes JPEG darin. Auch die Datei beginnt mit JPEG-Daten ohne Header, dann gibt es gegen Ende der Datei einen Header mit einem anderen JPEG + 5% Bilddaten. Ich habe diesen Header verwendet, um die Bilddaten ohne Header am Anfang der Datei zu decodieren.

eingebettete Vorschau mit niedrigerer Auflösung 1620 x 1080

Ich habe jetzt auch ein Video erstellt, das zeigt, wie ich dieses Foto repariert habe: https://youtu.be/nMpdPEKIPLU