JPEG-Bildproblem [geschlossen]

Mein Problem liegt also bei einem der Jpegs, mit denen ich arbeite. Die Sache mit Jpegs ist, dass, wenn Sie auch nur den kleinsten Teil der HEX-Datei ändern, das gesamte Bild nur vermasselt wird. Ich habe ungefähr zwei Zeilen vom BODY dieses JPEGs auf Null gesetzt und es ist explodiert, indem es mir diese verrückte grüne Schicht auf der Hälfte des Bildes gegeben hat. Andere Bildformate tun dies nicht wirklich. Es hat etwas damit zu tun, dass JPEGs Verweise auf ähnliche Farben speichern, anstatt separate Daten für jedes Pixel zu speichern. Meine Frage ist, gibt es eine Möglichkeit, den Effekt zu verringern, der auftritt, wenn auch nur eine einzige Datenzeile aus der HEX-Datei fehlt? Idealerweise würde ich nach einem Programm suchen, das es einigermaßen sichtbar machen kann.

Danke DanialGeben Sie hier die Bildbeschreibung ein

Dies scheint keine fotografiebezogene Frage zu sein und wäre wahrscheinlich besser für eine Grafikseite geeignet.
Abstimmung zum Schließen als unklar - es gibt keinen Hinweis darauf, was das gewünschte Endergebnis dieses Prozesses ist, sowie eine Reihe von Annahmen darüber, wie JPEG-Dateien funktionieren ("Verweise auf ähnliche Farben"), die einfach falsch sind (es ist eine diskrete Kosinustransformation ) . . Bitte bearbeiten Sie die Frage, um zu erklären , warum Sie diese willkürlichen binären Änderungen an der Datei vornehmen und wie dies für die Fotografie relevant ist.
Diese Frage scheint nicht zum Thema zu gehören, da es um die Manipulation von Bilddateien geht, nicht um Fotografie.
Wurde nicht dasselbe Bild und dieselbe Frage vor ein paar Monaten gestellt?

Antworten (3)

Wenn Sie die JPEG-Datei ändern möchten, indem Sie einige Bytes darin ändern, gehen Sie einfach wie folgt vor:

  1. Konvertieren Sie JPEG in unkomprimiertes BMP
  2. ändern Sie die Bytes
  3. Konvertieren Sie BMP in JPEG

Sie haben vorsätzlich eine komprimierte Datei zerstört, es gibt keine Möglichkeit, die Daten wiederherzustellen, außer dass Sie das, was Sie beschädigt haben, wiederherstellen.

Bildwiederherstellungstools sind so konzipiert, dass sie funktionieren, indem sie Datenblöcke nehmen und sie wieder in die richtige Reihenfolge bringen. B. wenn das Dateisystem auf einer SD-Karte oder Festplatte beschädigt ist. Sie sind nicht darauf ausgelegt, die Art des aufgetretenen Schadens zu beheben (wenn dies überhaupt möglich ist).

Eine gute Analogie für die Komprimierung ist ein Gedankenexperiment - Nehmen Sie Wegbeschreibungen für eine mysteriöse Tour von Google Maps. Entfernen Sie alle Wegpunktinformationen, Straßennamen usw., da wir diese nicht benötigen, um das Auto zu steuern. Die restlichen Anweisungen können Sie zu einem vereinfachten System zusammenfassen (z. B. n km fahren, links/rechts abbiegen, Ausfahrt Nr. n nehmen , die letzte Anweisung n -mal wiederholen). Das ist Ihre "komprimierte" Wegbeschreibung. Löschen Sie jetzt eine Reihe von Wegbeschreibungen in der Mitte, bevor Sie auf Drucken klicken - das haben Sie getan, und es gibt keine Möglichkeit, das Problem zu beheben.

JPEG ist ein Dateiformatstandard zum Speichern von Bildern. Es ist keine HEX-Datei. Es gibt keine HEX-Kodierung in einer JPEG-Datei. Ihre Frage ist daher nicht sinnvoll und kann nicht beantwortet werden.

So wie die Komprimierung im JPEG-Codierungsschema durchgeführt wird, gibt es nicht unbedingt eine 1:1-Entsprechung zwischen einigen benachbarten Bits in der Datei und einer bestimmten Stelle im Bild. So geht das nicht. Ein kleiner Fehler in einer JPEG-Datei kann große Auswirkungen auf das Bild haben. So funktioniert es.

Betrachten Sie Ihre obige Datei als beschädigt und löschen Sie sie. Gehen Sie zurück zur Quelle, zu Ihren Backups oder woher es ursprünglich kam.

Hex ist eine gängige Methode, um Binärwerte auf Byte-Ebene innerhalb einer Datei anzuzeigen. Alle Dateien können mit einem 'Hex-Editor' angezeigt und bearbeitet werden.
@James: Ja, alle Dateien können als HEX angezeigt und mit einer geeigneten Benutzeroberfläche sogar so manipuliert werden. Aber das macht es nicht zu einer "HEX-Datei", nach der das OP gefragt hat. Es gibt echte HEX-Dateien, wie zum Beispiel die gängige HEX-Datei im Intel-Format zum Speichern der Daten für EEPROMs und dergleichen. JPEG verwendet keine solche Kodierung.