Wie schreibt man eine JPEG-Datei decoder von Grund auf neu
Ich weiß, es gibt viele Werkzeuge für diese bereits. Mein Ziel ist, zu lernen.
Also Lesen kann ich eine JPEG-Datei mit fopen(), ich weiß, dies ist eine binäre Datei.
Was dann? Ich weiß, dass ich lernen kann, den JPEG-Spezifikationen. Aber es scheint nicht zu sagen, was ist die Struktur der binären jpeg-Datei.
Diese Datei enthält Nullen und Einsen
Wie kann ich mich verwandeln, oder wie kann ich wissen, welche Kette von bits bedeutet was ?
Habe ich in diesem Beispiel: nano-jpeg decoder,
Aber es ist ziemlich schwer, den code zu Lesen
Vielen Dank im Voraus
PS: Dies princeton Kerl getan hat, ein Projekt auf diese bietet eine gute Referenz
InformationsquelleAutor der Frage McBear Holden | 2011-07-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Seite hat eine Menge von Informationen, die auf der Verarbeitung der jpeg-Datei. Sie können auch nehmen einen Blick auf meinen eigenen Versuch in ein jpeg-decoder in Python.
Kurze Variablennamen im Programm oft entsprechen direkt den Variablen in der standard. Also, wenn Sie die standard bereit, es wird helfen, eine Menge. Es heißt ITU-1150 und ist im Internet frei verfügbar.
InformationsquelleAutor der Antwort onemasse
Jpegs sind schwierig, wenn Sie gerade erst anfangen. Sie müssen arbeiten, mit huffmann-Tabellen, eine Art schnelle inverse diskrete Cosinus-Transformation-Funktion, und die Fähigkeit zur Interpretation Quantisierungstabellen.
http://en.wikipedia.org/wiki/JPEG ist sehr hilfreich.
Wenn Sie möchten, beginnen Sie mit etwas einfacher, Blick auf PNGs. Das format ist im Grunde eine Kopfzeile, gefolgt von einer Reihe von Variablen Länge, chunks und dann ein zlib-stream. Dekomprimieren, die Sie Blätter mit fast-raw-Pixel, aber Sie haben gefiltert wurden. Unfiltering ist einfach.
InformationsquelleAutor der Antwort Dave