Bilder verkleinern auf max. Dateigröße bei max. Qualität
-
- Beiträge: 939
- Registriert: 16.02.2009 09:35:10
Bilder verkleinern auf max. Dateigröße bei max. Qualität
Ich suche ein Gimp Plugin oder Programm, das JPEG Bilder so speichert, dass sie eine maximale Dateigröße nicht überschreiten. Das Resultat sollte ein halbwegs brauchbarer Kompromiss aus reduzierter Auflösung und JPEG Qualitätsstufe sein. Da ich es nicht selbst brauche sondern meine Frau, sollte es kein Konsolen-Programm oder -Script sein, sondern ein Gimp Plugin oder eine grafische Anwendung. In den Gimp Plugins bin ich nicht fündig geworden und eine Suche im Netz hat nur Hinweise auf Image-/Graphics-Magic Parameter für Scripte gebracht.
Soft: Bullseye AMD64, MATE Desktop. Repo's: Backports, kein Proposed, eigene Backports. Grafik: Radeon R7 360 MESA.
Hardware: Thinkstation S20, Intel X58, 16GB, Xeon W3530, BCM5755 NIC, EMU10K1 SND, SATA SSD+HDS und DVD+RW.
Hardware: Thinkstation S20, Intel X58, 16GB, Xeon W3530, BCM5755 NIC, EMU10K1 SND, SATA SSD+HDS und DVD+RW.
Re: Bilder verkleinern auf max. Dateigröße bei max. Qualität
Die Kompression eines JPEG-Bildes wird über den sogenannten Q-Faktor gesteuert. Der Q-Faktor ist aber kein Maß für die Kompressionsrate sondern ein Qualitätsmaß, das zwischen 0 und 100 liegen kann. Je größer der Wert desto weniger Kompressionsartefakte hat man.nudgegoonies hat geschrieben:23.04.2020 10:52:22Ich suche ein Gimp Plugin oder Programm, das JPEG Bilder so speichert, dass sie eine maximale Dateigröße nicht überschreiten.
Der Kompressionsalgorythmus ist nicht dafür vorgesehen, Bilder um einen bestimtmen Faktor zu komprimieren. Wenn du also eine Bestimmte Bildgröße erreichen willst, mußt du das Bild mehrfach mit unterschiedlichen Q-Faktoren komprimieren und das Ergebnis auswählen, das der gewollten Dateigröße am nächsten kommt.
GUIs sind mir für den Zweck nicht bekannt. Ich würde das mit einem Skript lösen, das ein Eingabebild mittels imagemagick (convert) mit unterschiedlichen Q-Faktoren komprimiert und dann alle ausser dem in der gewünschten Größe löscht.
Meiner Erfahrung nach sind Q-Faktoren zwischen 60 und 85 sinnvoll. Unter 60 wird es wirklich unanssehlich und über 85 wird die erreichbare Kompressionsrate zu gering bei gleichzeitig kaum noch steigender Bildqualität.
Re: Bilder verkleinern auf max. Dateigröße bei max. Qualität
Solltest du zufällig Thunar (Xfce) benutzen, hätte ich da Benutzerdefinierte Aktionen
z.B.:
In anderes Format umwandeln
Bilder verkleinern (%)
Das ganze Paket , dem ich einzelne Aktionen entnommen habe, gibt es hier:
https://gitlab.com/nobodyinperson/thunar-custom-actions
z.B.:
In anderes Format umwandeln
Bilder verkleinern (%)
Das ganze Paket , dem ich einzelne Aktionen entnommen habe, gibt es hier:
https://gitlab.com/nobodyinperson/thunar-custom-actions
Re: Bilder verkleinern auf max. Dateigröße bei max. Qualität
Meistens verstehen die unter "verkleinern" aber, die Anzahl der Pixel zu reduzieren und nicht die Dateigröße unter Beibehaltung der Pixelzahl zu verkleinern.
- Lord_Carlos
- Beiträge: 5578
- Registriert: 30.04.2006 17:58:52
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Dänemark
Re: Bilder verkleinern auf max. Dateigröße bei max. Qualität
Gibt ein imagemagick script was genau das kann: http://www.fmwconcepts.com/imagemagick/ ... /index.php
Muss man es nur noch Benutzterfreundlich machen.
z.B. es konvertiert alle Bilder die in einem bestimmten Ordner sind. Dann muss deine Freu ihre Bilder nur in den Ordner verschieben und das Script anklicken. Dann geht es ganz ohne Konsole.
Oder wie willy sagte, script in deinem Datenmanager hinzufuegen. So das man Bilder mit rechtklicken verkleinern kann.
Muss man es nur noch Benutzterfreundlich machen.
z.B. es konvertiert alle Bilder die in einem bestimmten Ordner sind. Dann muss deine Freu ihre Bilder nur in den Ordner verschieben und das Script anklicken. Dann geht es ganz ohne Konsole.
Oder wie willy sagte, script in deinem Datenmanager hinzufuegen. So das man Bilder mit rechtklicken verkleinern kann.
Code: Alles auswählen
╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!
Re: Bilder verkleinern auf max. Dateigröße bei max. Qualität
StimmtMSfree hat geschrieben:23.04.2020 12:17:05Meistens verstehen die unter "verkleinern" aber, die Anzahl der Pixel zu reduzieren und nicht die Dateigröße unter Beibehaltung der Pixelzahl zu verkleinern.
aber man kann ein png z.B, in ein gif umwandeln ---> ergibt bei mir z.B. Die Halbe Dateigröße.
Bei jpg wird es aber fast das Doppelte.
Das webp - Format macht es bei gleicher Pixelzahl um die Hälfte kleiner (mal gerade gespielt)
Vergleich aus Thunar per Klick
kannte webp noch gar nicht, scheint aber sehr effektiv zu sein. Mal ein Vergleich (png war das Original)
Code: Alles auswählen
ls -algGh ~/Bilder/Shutter/ |grep "Bildschirmfoto vom 2020-04-02 09-54-47"
-rw-r--r-- 1 15M Apr 23 13:13 Bildschirmfoto vom 2020-04-02 09-54-47.bmp
-rw-r--r-- 1 2,1M Apr 23 13:14 Bildschirmfoto vom 2020-04-02 09-54-47.jp2
-rw-r--r-- 1 992K Apr 23 13:13 Bildschirmfoto vom 2020-04-02 09-54-47.jpeg
-rw-r--r-- 1 1006K Apr 2 09:54 Bildschirmfoto vom 2020-04-02 09-54-47.png
-rw-r--r-- 1 231K Apr 23 13:14 Bildschirmfoto vom 2020-04-02 09-54-47.webp
-
- Beiträge: 939
- Registriert: 16.02.2009 09:35:10
Re: Bilder verkleinern auf max. Dateigröße bei max. Qualität
Danke für die vielen Tipps! Ich hatte schon befürchtet, dass das "Wunderprogramm" nicht dabei bist. Aber das ImageMagick Script ist ein guter Tip. Ich werde es ihr irgendwie GUI-tauglich startbar anbieten. Mit festgelegten Quell und Zielverzeichnis.
Soft: Bullseye AMD64, MATE Desktop. Repo's: Backports, kein Proposed, eigene Backports. Grafik: Radeon R7 360 MESA.
Hardware: Thinkstation S20, Intel X58, 16GB, Xeon W3530, BCM5755 NIC, EMU10K1 SND, SATA SSD+HDS und DVD+RW.
Hardware: Thinkstation S20, Intel X58, 16GB, Xeon W3530, BCM5755 NIC, EMU10K1 SND, SATA SSD+HDS und DVD+RW.
Re: Bilder verkleinern auf max. Dateigröße bei max. Qualität
Nunja, bmp ist unkomprimiert und png verwenden eine Kompression, die nicht verlustbehaftet ist. Im Prinzip ist das nur ZIP auf eine Bilddatei angewendet, OK mit ein paar zusätzlichen Optierungen für Bilddaten. Der Kompressionsfaktor ist entsprechend gering, weil Bilddaten einen hohen Zufallsanteil haben. Je höher der Zufallsanteil, desto geringer kann ZIP komprimieren.willy4711 hat geschrieben:23.04.2020 12:59:22kannte webp noch gar nicht, scheint aber sehr effektiv zu sein. Mal ein Vergleich (png war das Original)Code: Alles auswählen
ls -algGh ~/Bilder/Shutter/ |grep "Bildschirmfoto vom 2020-04-02 09-54-47" -rw-r--r-- 1 15M Apr 23 13:13 Bildschirmfoto vom 2020-04-02 09-54-47.bmp -rw-r--r-- 1 2,1M Apr 23 13:14 Bildschirmfoto vom 2020-04-02 09-54-47.jp2 -rw-r--r-- 1 992K Apr 23 13:13 Bildschirmfoto vom 2020-04-02 09-54-47.jpeg -rw-r--r-- 1 1006K Apr 2 09:54 Bildschirmfoto vom 2020-04-02 09-54-47.png -rw-r--r-- 1 231K Apr 23 13:14 Bildschirmfoto vom 2020-04-02 09-54-47.webp
jp2, jpeg und webp sind verlustbehaftete Kompressionstechniken. JPEG ist praktisch die Mutter aller verlustbehafteten Kompressionen, die sogar für die Fimkompression MPG1-4 Pate gestanden hat. JPEG basiert auf der diskreten Cosinustranformation, die man durch eine Fourriertransformation errechnen kann. JP2 ist JPEG2000 und basiert auf einer Wavelett-Transformation, ist aber sehr rechenaufwändig und patentgepflastert, daher etwas problematisch. WEBP ist im Grunde "nur" eine Weiterentwicklung von JPEG/MPEG.
Deine Kompressionsbeispiele sagen jedoch praktisch gar nichts über die Leistungsfähigkeit der Kompressionsalgorythmen aus, da du nur irgendwelche Defaults verwendet hast. Mach mal folgendes:
Code: Alles auswählen
convert "Bildschirmfoto vom 2020-04-02 09-54-47.bmp" -quality 80 output80.jpg
convert "Bildschirmfoto vom 2020-04-02 09-54-47.bmp" -quality 60 output60.jpg
convert "Bildschirmfoto vom 2020-04-02 09-54-47.bmp" -quality 40 output40.jpg
convert "Bildschirmfoto vom 2020-04-02 09-54-47.bmp" -quality 20 output20.jpg
ls -l output*.jpg
Ich habe mir mal ein kleines Programm geschrieben, das JPEG-Dateien auf eine Zielgröße komprimieren kann. Das variiert den JPEG-Steuergunsparameter "QFactor" solange, bis die Zieldateigröße erreicht ist. Damit kann ich ein Testbild meiner Digitalkamera (3000 x 4000 Pixel = 36MB Rohdaten) ohne die Pixelzahl zu verändern sogar auf 500kByte komprimieren , das Bild sieht dann allerdings ziemlich bescheiden aus.
Code: Alles auswählen
ls -l out*
-rw-r--r-- 1 user user 970499 Apr 27 21:24 out1000.jpg
-rw-r--r-- 1 user user 1990931 Apr 27 21:24 out2000.jpg
-rw-r--r-- 1 user user 467969 Apr 27 21:24 out500.jpg