Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   JPGs bearbeiten? (https://www.delphipraxis.net/201797-jpgs-bearbeiten.html)

dummzeuch 28. Aug 2019 15:54

AW: JPGs bearbeiten?
 
Für die meisten Operationen muss man die JPEGs decoden, verändern und wieder encoden. Das Problem dabei ist, dass die Bildqualität darunter leidet. Nach ein paar (zig) Durchgängen wird das sichtbar.

Es gibt allerdings Möglichkeiten, das auf das Minimum zu Reduzieren.

Einige Bibliotheken z.B. erlauben es JPEGs oben und unten abzuschneiden ohne sie zu de- und encodieren.

Wenn ich das recht in Erinnerung habe, erlaubt es das Dateiformat sogar, nur einzelne Bereiche zu decodieren, zu verändern und wieder zu encodieren, den Rest des Bildes dabei aber unverändert zu lassen.
Das bezieht sich immer auf 8x8 Pixel-Quadrate. (Wie schon geschrieben: Wenn ich mich recht erinnere, es ist schon wieder eine Weile her, dass ich mich damit beschäftigt habe.)

Die Algorithmen dafür sind allerdings alles andere als einfach verständlich.

Medium 28. Aug 2019 16:33

AW: JPGs bearbeiten?
 
Zitat:

Zitat von dummzeuch (Beitrag 1443712)
8x8 Pixel-Quadrate

Das kommt auch noch ein wenig auf das Color-Subsampling an. Meistens sind jpegs im 4:2:2 Format, also Farben nur mit halber Auflösung. Dann sind's 16x16 Quadrate. Es gibt aber auch 4:4:4 und 4:1:1. Die Reihenfolge der Matrizen kann glaube ich auch variieren, und man kann durch den Standard definierte Quantisierungs-Matrizen nehmen oder frei welche in der Datei. Die Huffman-Codierung ist glaube ich ähnlich: Es gibt fertige Tabellen, man kann aber auch selbst ran und es mit zum Bild bei legen. Der Standard ist mittlerweile dermaßen flexibel (und das Verfahren mathematisch auch nicht ganz trivial), dass händisch in den Rohdaten wühlen nichts für mal eben in ner Woche runter geschrieben mehr ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:41 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz