Supportnet Computer
Planet of Tech

Supportnet / Forum / PC-Sonstiges

JPG Bild und HEX-Darstellung





Frage

Hallo Schlaufüchse! In letzer Zeit trat in meinem Umkreis immer wieder das Problem auf, das Bilder ( JPG.Format) auf der DigiCam ( verschiedene Modelle, unterschiedliche Speichermedien) sich am PC einwandfrei darstellen liesen, jedoch noch dem Kopieren oder Verschieben auf den PC oder über Netzwerk auf andere PCs beschädigt wurden. Der Fehler bestand darin das zb die untere Hälte des Bildes unterbelichtet erschien, und in dem Bereich auch öfters noch eine Verschiebung des Bildbereiches einstellte. Mit einem HEX-Editor habe ich einige Orginalbilder und defekte Bilder verglichen, wobei ich regelmäßig bemerkte daß an bestimmten Stellen ein CR oder CR in Verbindung mit LF fehlte. (Wagenrücklauf bzw Zeilenvorschub) Auch die Dateigröße wieß eine Differenz von wenigen Byte auf, eben die Zeichen die fehlten. Nun meine Frage an die Programmierer unter Euch: Läßt es sich realisieren das in einer Art Schleife in der defekten Bilddatei nach dem 1. Byte ein CR oder LF ( je nach dem wie ich es versuchen würde) eingefügt wird, und dann das Bild wenn möglich dargestellt würde. Würde das Bild nicht dem Entsprechen wie ich es erwarten würde, daß der Verscuhe an der nächste Stelle fortgesetzt weren soll. sprich nach dem 2. Byte das CR oder LF eingefügt würde. Da die Stellen unbekannt sind würde es meiner Meinung nur durch so einen Durchlauf möglich sein. Nach jedem Versuch sollte das Bild wenn möglich (vlt auch nur in verkleinerte Darstellung) angezeigt werden. Um es zu verdeutlichen: Wenn das jetzt die Bilddatei in einem HEX editor wäre §$&?§$%&?§$% §$&?§$%&?§$% §$&?§$%&?§$% sollte im 1 Schritt hier eine Korrekturmaßnahme angesetzt werden §<CR>$&?§$%&?§$% §$&?§$%&?§$% §$&?§$%&?§$% im 2. Schritt §$<CR>&?§$%&?§$% §$&?§$%&?§$% §$&?§$%&?§$% im 3. Schritt §$&<CR>?§$%&?§$% §$&?§$%&?§$% §$&?§$%&?§$% und so fort.... Und eben dabei nach jedem Schritt eine Darstellung des Bildes versuchen. sollte es sich dann ergeben daß es zu ersten Erfolg kommt dann sollte eben auf dem bisherigen Ergebnis aufgebaut werden und in der Art weitergearbeitet werden. Nun hoffe ich, daß ich es deutlich genug erklären konnte. Würde sich sowas realisieren lassen? Wie enorm wäre schätzungsweise der Programmieraufwand? Oder gibts sowas schon und ich weiß es nicht? Allen die schon die ersten Überlegungen anstellen, sag ich im vorraus Danke! LG buzz PS: Solange das Orginalbild noch verfügbar ist, ist alles kein Problem...

Antwort 1 von mr_x_hacker

Hi,

das kommt mir nun ein wenig suspekt vor...

1: Was genau wurde denn mit so einem Bild gemacht, dass es dabei "schlechter" wurde? Es ist mir noch niemals begegnet, dass ein JPG (binary data) nach Übertragung übers Netzwerk oder alternative Methoden plötzlich "dunkler" geworden wäre... was Du beschreibst, deutet auf irgendeine Form der "ASCII"-Übertragung hin, bei der dann auch noch Umbrüche "aufgeräumt" wurden... ich würde mich also zur Lösung des Problems eher mal um die Übertragungsformen kümmern...

2: Imho wird ein JPG nicht "dunkler", nur weil man an gewissen Stellen Bytes weglässt... JPG-Kompression ist ein ziemlich komplizierter Prozess - lässt man einige Bytes weg, dürfte man dadurch den kompletten 8x8-Pixel-Block zerstören oder verändern, zu dem es gehört... in dem Bild wären also eher blockweise Fragmente als eine "Verdunklung"

3: Du willst nach jedem Byte ein CR einfügen und dann visuell begutachten, ob es besser geworden ist?! D.h. bei einem winzigen 10k Image musst Du > 10000 Bilder angucken, bei den heute üblichen 2MB-Dateien wirst Du sonst nicht mehr zu sehr viel kommen in Deinem Leben... :P

Ich würde sagen, siehe Nr. 1 - auch wenn das programmiertechnisch eine simple Aufgabe ist, ist es praktisch nicht umzusetzen und das Problem sollte lieber durch Beseitigen der Ursache angegangen werden...

Ciao Sascha

Antwort 2 von Bussard

Hallo mr_x_hacker

Zu deiner Frage:

In einem Fal wurden die Bilder in meinem Bekanntenkreis einfach über das Linkkabel der Kamera übertragen, bzw verschoben.

Ergebnis: das Orginal auf der Karte war weg und das Bild auf der Festplatte sah aus als wäre es bis zur mitte in dunkle farbe getaucht
worden und am linken Rand erschien ein Teil der rechten Seite, aber eben im "verdunkelten" Bereich.

In einem anderen Fall wurden Bilder auf einem FTP-Server hochgeladen, und einige der Bilder wiesen auch das oben beschrieben Phänomen auf.

Nur war eben das Orginal noch verfügbar.

WIe geschrieben,
machte ich da -aus reiner neugier- einige Vergleiche
und setze eben an die fehlenden Stellen ein <CR>
(vlt auch mit einem <LF>, bin mir eben nicht mehr ganz sicher).

Die korrupte Datei wuchs um einige Byte,
und Bild war (optisch) wieder fehlerfrei.

Grob gesagt fehlte das erste <CR> in etwa der Mitte der Datei
das 2 CR etwa im letzten Drittel (gefühlsmäßig).

---

Deinen Einwand mit den zigtausend Bildern nehme ich zur Kenntnis, diesen Aspekt habe ich nicht so bedacht.

Danke erstmal für Deine Antwort
LB buzz

Antwort 3 von mr_x_hacker

Hi,

der FTP-Server wäre eine plausible Erklärung, da man dort ja Dateien explizit wirklich als ASCII übertragen kann, d.h. je nach Betriebssystem hat da evtl. einer die Umbrüche "neu interpretiert"... hier wäre das Problem gelöst, wenn man darauf achtet, Bilder korrekt als "binary" zu übertragen...

Ciao Sascha

Antwort 4 von Bussard

zuerst ma Sorry daß ich mich erst jetzt wieder melde ...
das Thema hat sich weitgehend erübrigt

Danke allen die sich den kopf zerbrochen haben

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: