Was ist ein gutes Programm, um die Größe von 100.000 JPG-Bildern im Batch zu ändern?


21

Das Programm sollte im Batch-Modus ausgeführt werden, um die Größe aller Dateien in einem Ordner zu ändern und neue Dateien in einem anderen Ordner zu speichern. Eine Option zum Einstellen der JPG-Qualität wäre ebenfalls großartig.


2
Eine Kombination aus find und ImageMagic.
mspasov

Antworten:


30

Ich bin ein wenig überrascht, dass niemand die einfachste, billigste und am wenigsten technische Option erwähnt hat:

Automator

Öffnen Sie zunächst Automator, das sich in Ihrem Anwendungsordner befindet.

Als nächstes legen Sie einen neuen Workflow an:

Erstellen Sie einen Automator-Workflow

Fügen Sie dem Workflow als Nächstes die folgenden Schritte hinzu, indem Sie sie ziehen und ablegen:

Workflow-Schritte

Wenn Sie dies ausführen, wird Automator:

  1. Öffnet ein Fenster, in dem Sie aufgefordert werden, einige Dateien auszuwählen (so viele wie Sie möchten).
  2. Öffnen Sie ein weiteres Fenster, in dem Sie gefragt werden, wo Sie die verkleinerten Kopien speichern möchten
  3. Fragen Sie, wie groß die verkleinerten Kopien sein sollen. Sie können entweder eine feste Größe oder einen Prozentsatz auswählen. Alle Bilder werden entweder auf diese Größe oder um diesen Prozentsatz skaliert.

(Das Kontrollkästchen "Diese Aktion anzeigen, wenn der Workflow ausgeführt wird" bedeutet, dass der Workflow angehalten wird, die Option angezeigt wird und Sie sie dann ändern können.)

Sobald Sie das tun, wird Automator abhauen und brennen, und wenn es fertig ist, piept es Sie an.

Leider scheint es keine Option zu geben, die JPEG-Qualität zu wählen. Allerdings ist es für den Preis (kostenlos) ziemlich unpraktisch.


Es ist vielleicht das am wenigsten technische für jemanden, der kein Terminal benutzt. Und möglicherweise das einfachste, aber es ist nicht das billigste aus den Antworten heraus hier. Sips ist im Unix-Build des Mac enthalten. Und ImageMagick ist auch kostenlos.
Markhunte

3
Es ist sicher anzunehmen, dass Automator für die Zwecke dieser Diskussion kostenlos ist, da anzunehmen ist, dass @mototribe OS X ausführt. Meine einzige Sorge wäre, wie gut Automator mit 100.000 Bildern umgehen würde, vorausgesetzt, dass sie nicht alle enthalten Bei einem einzelnen Ordner füttere ich immer nur einen Ordner nach dem anderen, bis dies erledigt ist. Ich habe diesen Workflow problemlos mit Hunderten von Bildern ausgeführt. Ich sehe keinen Grund, warum es gegen viele Tausende nicht funktionieren würde, da jedes Bild einzeln durchgespielt wird, aber ich würde mich im Vertrauens-, aber Überprüfungsmodus befinden.
Jaberg

Yep Automator hat den Job perfekt gemacht. Ich kam hierher und dachte: "Ich habe ein Befehlszeilen-Dienstprogramm gefunden, mit dem ich die Größe von Bildern stapelweise ändern kann." Manchmal ist die einfachste Lösung auch die beste. Prost.
Silouane Gerin

19

Ich benutze gerne ImageMagick. sipsund Automator (die eine identische Größenanpassungsmethode verwenden) lassen Bilder meiner Meinung nach zu verschwommen erscheinen, ohne dass sie zusätzlich geschärft werden.

Sie können ImageMagick mit brew install imagemagicknach der Installation von Homebrew oder mit sudo port install imagemagicknach der Installation von MacPorts installieren . Führen Sie dann einen Befehl wie folgt aus:

mogrify -filter lanczos2 -resize '500x500>' -format jpg -quality 90 -path /tmp/ *.jpg

500x500>Bilder, die breiter oder höher als 500 Pixel sind, passen auf 500 x 500 Pixel. 500xwürde immer die Breite auf 500 px ändern und 500x500^würde alle Bilder mindestens 500x500px machen. -path /tmp/Speichert die Ausgabedateien in, /tmp/anstatt die Dateien an Ort und Stelle zu ändern.

Lanczos2oder die 2-Lappen Lanczos ist sehr ähnlich Catrom. Im Vergleich zu Lanczos( Lanczos3) sind sie etwas weniger scharf, produzieren weniger klingelnde Artefakte und produzieren mehr Moiré-Muster. Der Standardfilter zum Verkleinern von Bildern ist Triangle, was Bilder meiner Meinung nach oft zu verschwommen macht.

-quality 100Erstellt Dateien, die ungefähr doppelt so groß -quality 95sind. Dadurch werden Dateien erstellt, die ungefähr doppelt so groß sind wie -quality 88.

Mehr Informationen:

http://www.imagemagick.org/Usage/resize/
http://www.imagemagick.org/Usage/filter/
http://lri.me/shell1.txt

Hier ist ein ähnlicher Befehl, der Folgendes verwendet sips:

for f in *.jpg; do sips -Z 500 -s format jpeg -s formatOptions 80 "$f" /tmp/; done

-Z 500ist wie 500x500>in ImageMagick.

Wenn andere weniger als 100.000 Bilder haben, können Sie auch die Vorschau verwenden:

In der Vorschau wurde dieselbe Größenänderungsmethode wie in sipsAutomator verwendet, aber seit 10.7 wurde eine andere verwendet. Ich bevorzuge allerdings ImageMagicks Lanczos2.

Ich habe einen Vergleich der verschiedenen Optionen auf http://19a5b0.s3-website-us-west-2.amazonaws.com/imagemagick-osx-resizing/index.html hochgeladen .


1
Ich möchte Sie warnen zu verwenden mogrify: Dies konvertiert die Dateien an Ort und Stelle und überschreibt die ursprünglichen! Wenn etwas schief geht, haben Sie Ihre Dateien verloren! Bessere Verwendung convert(auch von ImageMagick).
Kurt Pfeifle

1
@KurtPfeifle Dies ist nicht der Fall, wenn Sie die -pathOption angeben (die convertderzeit nicht verfügbar ist).
Lri

Wenn Sie auf Geschwindigkeit setzen, sipsist dies vielleicht die bessere Wahl. Bei einem Schnelltest mit 1.000 JPGs dauerte eine Größenänderung von ~ 5 MB auf eine Breite von 800 Pixel ~ 1 Minute. mit sipsund ~ 8 min. with mogrify(mit gelöschten Plattenpuffern unter Verwendung von GNU Parallel in einem Quadcore).
Stefan Schmidt

13

ImageMagick ist ein Kommandozeilenprogramm, das für diesen Zweck entwickelt wurde. Die Verwendung und Installation von ImageMagick kann einschüchternd sein, aber dieses Bildbearbeitungspaket ist das mächtigste, das ich bisher erlebt habe. Da die Installation aus dem Quellcode für native OS X-Benutzer problematisch sein kann, rate ich Ihnen, Homebrew zu verwenden .

Um ImageMagick mit Homebrew zu installieren , führen Sie diesen Oneliner in Ihrem Terminal aus:

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

Homebrew ist jetzt installiert. Es ist ratsam, den Vorschlägen des Installateurs nach der Installation zu folgen. Jetzt installieren wir ImageMagick mit brew.

brew install imagemagick

ImageMagick ist jetzt installiert und das convertProgramm kann für Ihren Zweck verwendet werden. Um ein großes JPG-Bild in ein kleineres PNG-Bild zu konvertieren, können Sie es ausführen

convert input.jpg -geometry 800x600 output.png

Um Ihre Frage "Wie Sie die Größe aller Dateien in einem Ordner ändern und sie in einem anderen Ordner speichern" zu beantworten, können Sie das folgende Skript ausführen.

# create output dir
mkdir -p "../resized"

# Convert all .jpg files in the current folder
for image in *.jpg; do
    convert $x -geometry 800x600 resized/$x
done

ImageMagick kann über 100 verschiedene Bildformate konvertieren und fast alle Tricks, die Sie mit Photoshop machen können, können Sie mit ImageMagick machen.


danke, das habe ich letztendlich benutzt - allerdings habe ich es auf Drupal installiert, da ich die Bilder in Drupal importiere.
Uwe

@the_karel, ich habe gerade deinen vorherigen Beitrag verbessert. Ich hoffe, dass es dir nichts ausmacht.
CousinCocaine

7

Mehrere Leute haben ImageMagick erwähnt. Hier ist ein Rezept: Nehmen Sie der Einfachheit halber an, dass sich alle Dateien in einem Ordner befinden (und der Ordner nichts anderes enthält). Öffnen Sie ein Terminalfenster, legen Sie eine CD in diesen Ordner und führen Sie sie aus

mkdir ../resized
for x in *.jpg; do convert -geometry 800x600 $x ../resized/$x

Hier ersetzen Sie den 800x600 durch eine beliebige Größe.

Zu den Vorteilen von ImageMagick gehört ein hohes Maß an Flexibilität convert, z. B. die Möglichkeit, verschiedene Qualitätseinstellungen für das Zielbild auszuwählen oder die Größenänderungsoption in Prozent festzulegen. Sie können auch verwenden -geometry 800x800, in welchem ​​Fall das Seitenverhältnis beibehalten wird, die maximale Breite und Höhe jedoch 800 Pixel beträgt.

Die Nachteile liegen auf der Hand: Sie setzen eine gewisse Vertrautheit mit der Befehlszeile sowie die Bereitschaft voraus, die Befehlszeilenoptionen convertfür die gewünschten Einstellungen zu durchsuchen. Dies ist keine Aufgabe für schwache Nerven.


4

Ich zweiter GraphicConverter . Ich bin seit 16 Jahren ein registrierter Benutzer. Sein Hauptzweck ist die Stapelverarbeitung der Bildbearbeitung. Er verfügt über eine gute Benutzeroberfläche zum Entwerfen und Speichern benutzerdefinierter Workflows.

Sie können es auch in Verbindung mit Automator verwenden, müssen dies aber wahrscheinlich nicht.

Auf der Seite von GraphicConverter finden Sie einige Informationen zur Stapelverarbeitung von Bildbearbeitungsfunktionen .

Batch-Konvertierung mit zusätzlichen Funktionen

GraphicConverter bietet Ihnen eine ausgeklügelte Stapelverarbeitung, mit der sich wiederholende Aufgaben für eine Auswahl von Bildern vollständig automatisiert werden:

  • Konvertieren Sie alle ausgewählten Quellbilder einfach und schnell in ein neues Format - unabhängig davon, ob es sich um 5.000 oder 5.000 Bilddateien handelt. Sie definieren einfach die Art der Konvertierung und legen die Details fest
  • Während des Konvertierungsprozesses können Sie bis zu 60 zusätzliche Batch-Funktionen wie Drehen, Ändern der Größe, Ändern der Auflösung usw. anwenden.
  • Automatisieren Sie das Entfernen von Mac OS Ressourcefork, bevor Dokumente hochgeladen werden, wenn Kompatibilitätsprobleme auftreten, wenn die Bilddateien im Internet abgelegt werden
  • Erstellen Sie Kataloge im HTML-Format für die Veröffentlichung im Internet und passen Sie die Farben, Größen usw. an Ihre individuellen Anforderungen an (siehe Beispiele).
  • Benennen Sie schnell und einfach eine Auswahl von Dokumenten nach bestimmten Kriterien um
  • Bilder zusammenfügen (zB für QuickTime VR)
  • Einfügen oder Extrahieren von IPTC-Informationen in oder aus einer Vielzahl von Dokumentformaten
  • und vieles mehr ...

Bildbeschreibung hier eingeben


4

Dies ist ein weiteres einfaches, sauberes und effektives Skript zur Größenänderung von Batch-Images. Wenn Sie häufig mit Grafiken und unterschiedlichen Auflösungen zu tun haben, können Sie dieses Skript verwenden und für gelegentliche Zwecke mit unterschiedlichen Werten speichern.

Ändern Sie dazu diesen Wert target_width 120 nach Ihren Wünschen und speichern Sie das Skript. Ziehen Sie nun Ihre Bilder auf die gespeicherte Skriptdatei, um die Größe Ihrer Bilder zu ändern.


Öffnen Sie den Skript-Editor und erstellen Sie das folgende neue Skript:

-- save in Script Editor as Application
-- drag files to its icon in Finder

on open some_items
  repeat with this_item in some_items
    try
      rescale_and_save(this_item)
    end try
  end repeat
end open


to rescale_and_save(this_item)
  tell application "Image Events"
    launch
    set the target_width to 120
    -- open the image file
    set this_image to open this_item

    set typ to this_image's file type

    copy dimensions of this_image to {current_width, current_height}
    if current_width is greater than current_height then
      scale this_image to size target_width
    else
      -- figure out new height
      -- y2 = (y1 * x2) / x1
      set the new_height to (current_height * target_width) / current_width
      scale this_image to size new_height
    end if

    tell application "Finder" to set new_item to ¬
    (container of this_item as string) & "scaled." & (name of this_item)
    save this_image in new_item as typ

  end tell
end rescale_and_save

ursprüngliche Quelle


3

Die Vorschau ist sicherlich eine gute Lösung für gelegentliche Größenänderungen. Es gibt auch andere nette kostenlose Optionen, wie ImageMagic (Befehlszeilenprogramm), Preview oder etwas anderes plus Automator usw.

Wenn dies jedoch Teil Ihrer Arbeit ist und Sie eine echte Flexibilität benötigen, spart Ihnen eine spezielle Anwendung viel Zeit und bietet Ihnen viel mehr Möglichkeiten. Viele Benutzer haben sich für unseren Batch-Image-Resizer Resize Sense ( http://veprit.com/resizesense ) entschieden, weil er besonders flexibel und praktisch ist.

Haftungsausschluss: Ich bin der Entwickler. Sie sollten Resize Sense besser selbst beurteilen. Das Einführungsvideo auf der Produktwebsite zeigt Ihnen genau, was Resize Sense so besonders macht. Es gibt eine kostenlose Demoversion.



1

Normalerweise importiere ich alle Bilder in iPhoto und exportiere sie dann in die verschiedenen Größen. Ich habe es mit Chargen von etwa 300 Bildern gemacht, aber nie mit dem gewünschten Maßstab. Dennoch kann es eine Option sein.


1

Niemand hat Apple Aperture erwähnt.

Während es keineswegs das billigste ist, gibt es viele andere Dinge, die Sie vielleicht nützlich finden. Es ersetzt im Grunde iPhoto und dann einige. Es macht 95% von dem, wofür Fotografen normalerweise Photoshop verwenden. (Es macht keinen flammenden Text. :-)

Aber wenn Sie nicht die anderen Dinge benötigen, die Aperture Ihnen bietet, bin ich sowohl für den ImageMagick-Ansatz als auch für den Automator-Ansatz verantwortlich, der trotz der Behauptung von @ markhunte kostenlos ist .


-1

Ich benutze Wein (und XQuartz ) und IrfanView . Natürlich können Sie auch imagemagick von der Kommandozeile aus verwenden. Für Wein und Imagemagick würde ich Homebrew empfehlen .

irfanview in wine unter OS X


Ich benutze Irfanview seit über 10 Jahren auf dem PC und liebe es. Aber sie haben keine Mac-Version?
Uwe

1
Ich vermute, sie meinen, sie betreiben IrFranView unter Wein. Mit Wine können Sie Windows-Software auf anderen Betriebssystemen ausführen. Mit Wine können Sie diese Anwendungen wie in Windows installieren und ausführen. Der Screenshot zeigt deutlich Mac-Fenster (Schaltflächen oben) mit PC-Fenster-GUI
markhunte

5
Die Verwendung von Wine mit einer Windows-Anwendung ist wirklich ein Overkill für etwas, das Sie nativ tun können.
Matteo
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.