Suche: Programm zur massenhaften JPEG Verkleinerung von ganzen Ordnern unter Linux Mint

  • Ersteller Ersteller siebengescheit
  • Erstellt am Erstellt am
S

siebengescheit

Gast
ich will viele Hundert Bilder durchschauen ob welche drunter sind die ich benötige. Jedes Bild hat ca. 8 MB und das Laden dauert viel zu lang

ich hätte gern ein Programm mit dem ich einfach alle Bilder auf z. B. 10 % der ursprünglichen Pixelzahl oder auf 800 * 600 Pixel runter skalieren kann.


Das Original finde ich dann per Handarbeit: Wenn ich ein Bild dann auswähle, habe ich das zugehörige Original bzw. kann es dem ZIP File entnehmen

danke für Euere Tipps
 
Was du suchst ist Batch Konvertierung, das geht zum Beispiel prima mir Irfanview.
Da ich sehe das du Linux nutzt wäre ImageMagick für dich das Tool der Wahl.

Die entsprechenden befehle findest du mit dem Suchbegriff: Batch Konvertierung ImageMagick

Beispiel:

Code:
for i in *.jpg; do magick "$i" -resize 10% "neuerDateinameKlein_$i"; done
 
  • Gefällt mir
Reaktionen: Alexander2, nutrix, DJMadMax und 6 andere
Falls du eine GUI bevorzugst, XNView macht das unter "Werkzeuge - Stapelverarbeitung"
 
  • Gefällt mir
Reaktionen: Lotsenbruder, wagga und M4ttX
Für viele Desktops gibt es auch passende Erweiterungen, die das bieten, z.B. caja-image-converter für MATE.

Dein Problem klingt aber eher nach der Suche eines passenden Bildbetrachters, der z.B. auch Thumbnails zum Cachen erstellt und man so die Bilder in einer Übersicht hat. Und da gibt es viele: digiKam, gThumb, Shotwell usw.
 
Irfanview kann das sonst auch, wenn du was einfaches mit GUI möchtest. Das kann dir allerdings auch einfach direkt das Bild recht flott anzeigen.
Linux nicht Windows, Sry, überlesen.
 
  • Gefällt mir
Reaktionen: Piktogramm
Converseen ist perfekt dafür - Dateien markieren, reinziehen und links 50% Größe auswählen und dann das Format und die Formateinstellungen anpassen und konvertieren klicken. Als Ziel kann man einen anderen Ordner auswählen oder auch die Dateien überschreiben lassen. Hat Vorschau und GUI. Ist in fast allen Linux Repos drin.
 
Eine gescheite Gallerie, die Precaching betreibt und eine Datenbank nutzt ist da in meinen Augen schlauer. Das Mittel der Wahl ist da Immich https://immich.app

Jenachdem was du zum Anzeigen der Vorschau nimmst, wird da ebenfalls fröhlich gecached, wobei die meisten Dateiexplorer mit Vorschaufunktion ab ein paar tausend Dateien meist sowieso arg aus dem Tritt geraten und auch kleinere Dateien nicht schnell angezeigt werden.

Code:
find . -maxdepth 1 -type f \( -iname "*.jpeg" -o -iname "*.jpg" -o -iname "*.png" -o -iname "*.bmp" \) -print0 | \
xargs -0 -I {} -P $(nproc) sh -c '
  img="{}"
  base=$(basename "$img")
  filename="${base%.*}"
  magick "$img" -resize "800x800>" -quality 70 "small/${filename}_small.jpg"
'
  • Finde Dateien im aktuellen Ordner mit Dateiendungen, wird Liste mit Funden zu xargs
  • xargs, starte so viele Shells mit Script wie CPU-Threads vorhanden sind, wird je einen Dateipfad als Argument dazu.
  • Script, Nimm Dateipfad, extrahiere Dateinamen ohne Endung, magick rechnet Bild klein, 800px größte Seitenlänge, Qualität 70%, kleine Datei in Ordner "small" werfen und als Dateiname_small.jpg speichern
Der Vorteil ist, die ganze CPU bekommt Arbeit, der Nachteil ist, die ganze CPU ist ausgelastet. Auf HDDs skaliert das nicht perfekt. Gegebenfalls $(nproc) durch eine Zahl ersetzen, die besser passt.
 
  • Gefällt mir
Reaktionen: Metalveteran und madmax2010
IrfanView ist dein Programm. Unter Datei > Batch Stapel / Konvertierung > Zielformat und Spezial Optionen kannst du dich nach Lust und lauen austoben. Ist alles selbsterklärend :)

JPEG ist aber nicht verlustfreie. Einmal geändert ... Besser wäre PNG und dann höchste Komprimierung geht alles mit Irfanview.
1781577347322.png
 
Piktogramm schrieb:
Code:
find . -maxdepth 1 -type f \( -iname "*.jpeg" -o -iname "*.jpg" -o -iname "*.png" -o -iname "*.bmp" \) -print0 | \
xargs -0 -I {} -P $(nproc) sh -c '
  img="{}"
  base=$(basename "$img")
  filename="${base%.*}"
  magick "$img" -resize "800x800>" -quality 70 "small/${filename}_small.jpg"
'
Alternativ mit GNU parallel (Kurzanleitung):
Code:
parallel "magick {} -scale 800x800 -quality 30 -define jpeg:optimize-coding=false small/{.}.small.jpg" ::: **/*.jpg
Anmerkungen:
  • Da es in diesem Fall auf Qualität nicht ankommt, kann der schnellere Operator -scale anstatt -resize verwendet werden, und die JPEG-Qualität kann niedrig gewählt werden.
  • Da es auch nicht auf maximale Effizienz bei der JPEG-Komprimierung ankommt, kann diese beschleunigt werden (-define jpeg:optimize-coding=false).
  • Der Platzhalter ** muss ggf. in Bash aktiviert werden: shopt -s globstar.
 
  • Gefällt mir
Reaktionen: nutrix und =dantE=
Statt dir die Bildqualität so brutal zu zerschießen, würde ich eher andere Dateiformate erwägen.
Guck dir mal WebP, HEIC und AVIF an.
Bei den Qualitätstufen sollten es ca 80% tun, ohne dass du es siehst.
 
AlanK schrieb:
Da ich sehe das du Linux nutzt wäre ImageMagick für dich das Tool der Wahl.
Das geht auch mit Windows und CMD oder Powerpowershell als Script.
https://imagemagick.org/download/#windows
Wobei ich es ehrlicherweise auch eher mit Cygwin verwende, da ich bash besser beherrsche als die oben genannten, und bash in meinen Augen mächtiger ist als das olle CMD. Geht dann auch mit WSL.
 
  • Gefällt mir
Reaktionen: AlanK
nutrix schrieb:
Das geht auch mit Windows und CMD oder Powerpowershell als Script.
Letztendlich ist es fast immer zielführender einen OneLiner zu bauen als zig verschiedene Tools auszuprobieren.

Die Zeit die man mit dem ausprobieren von diversen Tools verbringt investiert man besser in Kenntnisse von sh, den ROI erreicht man ziemlich schnell.
 
Independent schrieb:
IrfanView ist dein Programm.
Aber nur wenn der TE Windows nutzt, wenn ich #6 glauben darf.

Piktogramm schrieb:
Nimm Dateipfad, extrahiere Dateinamen ohne Endung
In Zeile 4 fehlen noch die Gänsefüßchen um das $(). ;-) Derlei Einzeiler oder Mini-Skripte sind i.d.R. auch mein Werkzeug der Wahl. Es setzt halt voraus, dass man sich einigermaßen mit der Shell auskennt.
 
pseudopseudonym schrieb:
utBildqualität so brutal zu zerschießen,

ich will doch nur einfach die Bilder einmal durchschauen

Independent schrieb:

für Linux ?

Kristatos schrieb:

über die Linux Mint Anwendungsverwaltung installierbar
erscheint im Startmenü unter Grafik
tut das tun was ich will

ich hab nur gebraucht bis ich den Ausgabepfad fand:

richtig:
/home/Benutzer/Verzeichnis

nicht
/home/Benutzer/Dokumente/Verzeichnis


#####


danke für Euere Tipps; die Angelegenheit ist erledigt
 
  • Gefällt mir
Reaktionen: Donnerkind
siebengescheit schrieb:
ich will doch nur einfach die Bilder einmal durchschauen
Achso. Dachte, die Originale ersetzen.
 
Ganz anderer Ansatz: Ich nutze für die Suche Excire Foto

Über die Jahre haben sich bei mir rund 150.000 Fotos angesammelt. Zwar ist alles sauber nach Jahren und Ereignissen sortiert, trotzdem war die Suche früher oft mühsam. Man weiß nach einiger Zeit eben nicht mehr genau, in welchem Jahr oder Ordner sich das gesuchte Bild befindet.

Excire Foto nutzt eine KI im Hintergrund. Statt Ordner zu durchsuchen, beschreibst du einfach, was auf dem Bild zu sehen ist. Die Trefferquote bei mir ist sehr hoch und führt in 9 von 10 Fällen zum gesuchten Foto.
Beispiel-Prompts: "Suche alle Bilder mit einem roten Auto." "Zeige Fotos mit einer Sonnenbrille und blauem Hintergrund" "Finde Bilder mit Hund am Strand bei Sonnenuntergang" usw.

Falls das am Thema vorbeigeht, einfach ignorieren. 🙂


Lesen will gelernt sein, gibts nur für Windows und macOS 🙄
 
Persönlich hab ich tatsächlich IrfanView über "Bottles" installiert gehabt, gerade weil man dort über die GUI alles Mögliche einstellen kann. Funktioniert hier problemlos, man muss halt mit den Eigenschaften des Dateisystems klarkommen (Unter "Z:" befindet sich das gesamte Linux-Laufwerk), außerdem sollte man bei hochauflösenden Bildschirmen die DPi anpassen (geht problemlos in Bottles), damit das Fenster auch groß genug ist dass man Texte lesen kann^^.
 
Zurück
Oben