Deep Sky
Themenersteller
Das "Guetzli" Tool (siehe Github) komprimiert bekannntlich jpg, png und tif Dateien nach jpg. Dahinter liegt ein spezieller "Butteraugli" Algorithmus, der die Wahrnehmung des menschlichen Auges simuliert und Unterschiede des Ausgangsbildes und der komprimierten Version minimiert. Leider ist dieser Algorithmus extrem langsam und benötigt je nach Rechner pro Megapixel etwa eine Minute. Das wurde schon mal hier im Forum diskutiert: https://www.dslr-forum.de/threads/guetzli-jpeg-encoder-von-google.1786996/
Seit einiger Zeit gibt es eine laut Programmierer 25-40x schnellere Version des von Google entwickelten, befehlszeilenbasierten Kompressions-Tools:
github.com
Bis vor kurzem waren nur exe Dateien verfügbar, die auf befehlszeilen-Ebene die "--cuda" swith benötigten, um CUDA zu nutzen. Alternativ den "--auto" switch, um zuerst festzustellen, ob djeweilige Grafikkarte CUDA unterstützt.
Auf meine Bitte hat der Programmierer nun eine Version der exe Datei erstellt, die automatisch den "--auto" switch verwendet.
Man kann sie die hier runterladen: https://github.com/doterax/guetzli-cuda-opencl/issues/11
Vorteil: Man kann diese Datei zB als Ersatz der mit XNViewMP mitgelieferten "guetzli_windows_x86-64.exe" verwenden und so die Funktion "Speichern unter..." / "JPG-Guetzli JPEG" sinnvoll(er) nutzen. Auf meinem Rechner dauert das Speichern eines 45 MB (20 MPix) großen Bildes nun statt ca 20 Minuten nur mehr eine Minute. Die Dateigröße der jpg ist vom Ausgangsbild abhängig, in meinem Beispiel entstand eine gerade mal 1,25 MB kleine jpg Datei, bei der ich keine Unterschiede zur TIF Datei sehen konnte.
Unabhängig davon kann man das Tool natürlich auch anders verwenden, zB:
Den eigenen RAW-Konverter so einstellen, dass er TIF Dateien exportiert. In dieses Export-Verzeichnis legt man die guetzli.exe und erstellt sich eine Batch-Datei, wo zB folgende Zeile drinnen steht:
for %%i in (*.tif) do guetzli.exe --verbose --quality 84 "%%i" "%%~ni.jpg
Diese Batch-Datei erstellt dann aus jeder .tif Datei eine .jpg Datei, sobald man sie doppelklickt.
"*.tif" kann man natütlich jederzeit mit *.png" oder *.jpg" ersetzen, oder gleich 3 Zeilen einfügen, um alle 3 möglichen Bilddatei-Typen zu komrimieren. Dann aber aufpassen, dass sich die jpg-Dateien, die produziert werden, nicht gegenseitig überschreiben (würde passieren, wenn es zB Dateien mit gleichem Namen, aber unterschiedlichen Endungen gibt: Datei.tif und Datei.jpg würden dann beide nach Datei.jpg komprimiert werden).
Außerdem kann die Qualitätsangabe in der Batch-Datei angepasst werden (die orignale Guetzli-Version lässt nur Wete von 84-100 zu, die CUDA-Version auch niedrigere Werte).
Den Befehl --verbose kann man auch weglassen, aber dann sieht man nicht so gut, dass das Programm auch wirklich was tut und man könnte bei etwas längerer Rechenzeit meinen, es hätte sich aufgehängt.
Wer der exe Datei nicht traut oder sich selbst betätigen möchte, kann sie mit etwas Mühe auch selbst compilieren. Habe ich auch gemacht. Dazu muss man zusätzlich zur Anleitung auf Github in der Datei clguetzli.cpp in Zeile 15 g_mathMode = MODE_CPU abändern in .. = MODE_AUTO oder ...= MODE_CUDA.
Viel Spaß beim Experimentieren.
DS
Seit einiger Zeit gibt es eine laut Programmierer 25-40x schnellere Version des von Google entwickelten, befehlszeilenbasierten Kompressions-Tools:
GitHub - doterax/guetzli-cuda-opencl: Perceptual JPEG encoder, optimized with CUDA&OpenCL, full JPEG format support.
Perceptual JPEG encoder, optimized with CUDA&OpenCL, full JPEG format support. - GitHub - doterax/guetzli-cuda-opencl: Perceptual JPEG encoder, optimized with CUDA&OpenCL, full JPEG format ...
Auf meine Bitte hat der Programmierer nun eine Version der exe Datei erstellt, die automatisch den "--auto" switch verwendet.
Man kann sie die hier runterladen: https://github.com/doterax/guetzli-cuda-opencl/issues/11
Vorteil: Man kann diese Datei zB als Ersatz der mit XNViewMP mitgelieferten "guetzli_windows_x86-64.exe" verwenden und so die Funktion "Speichern unter..." / "JPG-Guetzli JPEG" sinnvoll(er) nutzen. Auf meinem Rechner dauert das Speichern eines 45 MB (20 MPix) großen Bildes nun statt ca 20 Minuten nur mehr eine Minute. Die Dateigröße der jpg ist vom Ausgangsbild abhängig, in meinem Beispiel entstand eine gerade mal 1,25 MB kleine jpg Datei, bei der ich keine Unterschiede zur TIF Datei sehen konnte.
Unabhängig davon kann man das Tool natürlich auch anders verwenden, zB:
Den eigenen RAW-Konverter so einstellen, dass er TIF Dateien exportiert. In dieses Export-Verzeichnis legt man die guetzli.exe und erstellt sich eine Batch-Datei, wo zB folgende Zeile drinnen steht:
for %%i in (*.tif) do guetzli.exe --verbose --quality 84 "%%i" "%%~ni.jpg
Diese Batch-Datei erstellt dann aus jeder .tif Datei eine .jpg Datei, sobald man sie doppelklickt.
"*.tif" kann man natütlich jederzeit mit *.png" oder *.jpg" ersetzen, oder gleich 3 Zeilen einfügen, um alle 3 möglichen Bilddatei-Typen zu komrimieren. Dann aber aufpassen, dass sich die jpg-Dateien, die produziert werden, nicht gegenseitig überschreiben (würde passieren, wenn es zB Dateien mit gleichem Namen, aber unterschiedlichen Endungen gibt: Datei.tif und Datei.jpg würden dann beide nach Datei.jpg komprimiert werden).
Außerdem kann die Qualitätsangabe in der Batch-Datei angepasst werden (die orignale Guetzli-Version lässt nur Wete von 84-100 zu, die CUDA-Version auch niedrigere Werte).
Den Befehl --verbose kann man auch weglassen, aber dann sieht man nicht so gut, dass das Programm auch wirklich was tut und man könnte bei etwas längerer Rechenzeit meinen, es hätte sich aufgehängt.
Wer der exe Datei nicht traut oder sich selbst betätigen möchte, kann sie mit etwas Mühe auch selbst compilieren. Habe ich auch gemacht. Dazu muss man zusätzlich zur Anleitung auf Github in der Datei clguetzli.cpp in Zeile 15 g_mathMode = MODE_CPU abändern in .. = MODE_AUTO oder ...= MODE_CUDA.
Viel Spaß beim Experimentieren.
DS