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

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

Eine Kombination aus Find und ImageMagic.

Antworten (11)

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

Automat

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

Wählen Sie als Nächstes aus, einen neuen Workflow zu erstellen:

Erstellen Sie einen automatisierten Workflow

Fügen Sie als Nächstes die folgenden Schritte per Drag & Drop zum Workflow hinzu:

Workflow-Schritte

Wenn Sie dies ausführen, wird Automator Folgendes tun:

  1. öffnet ein Fenster, in dem Sie aufgefordert werden, einige Dateien auszuwählen (so viele Sie möchten)
  2. öffnet sich 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 getan haben, wird Automator aufwühlen und brennen, und wenn es fertig ist, wird es Sie anpiepen.

Leider scheint es keine Option zur Auswahl der JPEG-Qualität zu geben. Für den Preis (kostenlos) ist es jedoch verdammt praktisch.

Es ist vielleicht am wenigsten technisch für jemanden, der Terminal nicht verwendet. Und möglicherweise die einfachste, aber nicht die billigste der Antworten hier. Sips ist im Unix-Build des Mac enthalten. Und ImageMagick ist auch kostenlos.
Es ist sicher anzunehmen, dass Automator für die Zwecke dieser Diskussion kostenlos ist, weil es vernünftig ist anzunehmen, dass @mototribe OS X ausführt. Meine einzige Sorge wäre, wie gut Automator mit 100.000 Bildern umgehen würde, aber vorausgesetzt, sie sind nicht alle drin einen einzelnen Ordner, würde ich es einfach mit einem Ordner nach dem anderen füttern, bis es fertig war. Ich habe genau diesen Workflow problemlos mit Hunderten von Bildern ausgeführt. Ich sehe keinen Grund, warum es nicht gegen viele Tausende funktionieren würde, da jedes Bild einzeln durchgeschoben wird, aber ich wäre im Vertrauensmodus, aber im Überprüfungsmodus.
Yep Automator hat den Job perfekt gemacht. Ich kam hierher und dachte: "Ich habe ein Befehlszeilenprogramm gefunden, mit dem die Größe von Bildern im Stapel geändert werden kann" ... Manchmal ist die einfachste Lösung auch die beste. Prost.

Ich benutze gerne ImageMagick. sipsund Automator (die eine identische Größenänderungsmethode verwenden) lassen Bilder meiner Meinung nach ohne zusätzliches Schärfen zu verschwommen aussehen.

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 diesen aus:

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

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

Lanczos2oder der 2-lappige Lanczos ist sehr ähnlich zu Catrom. Im Vergleich zu Lanczos( Lanczos3) sind sie etwas weniger scharf, erzeugen weniger Ringartefakte und erzeugen mehr Moiré-Muster. Der Standardfilter zum Verkleinern von Bildern ist Triangle, wodurch Bilder meiner Meinung nach oft zu unscharf werden.

-quality 100erstellt Dateien, die etwa doppelt so groß -quality 95sind, wodurch Dateien erstellt werden, die etwa 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:

Preview verwendete früher dieselbe Größenänderungsmethode wie sipsund Automator, verwendet jedoch seit 10.7 eine andere. Ich bevorzuge aber ImageMagick Lanczos2.

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

Ich möchte Sie vor der Verwendung warnen mogrify: Dadurch werden die Dateien direkt konvertiert und die Originaldateien überschrieben! Wenn etwas schief geht, haben Sie Ihre Dateien verloren! Besser verwenden convert(auch von ImageMagick).
@KurtPfeifle Dies ist nicht der Fall, wenn Sie die -pathOption angeben (die convertderzeit nicht vorhanden ist).
Wenn Sie auf Geschwindigkeit aus sind, sipsist dies vielleicht die bessere Wahl. Bei einem Schnelltest mit 1.000 JPGs á ~5 MB hat das Resizing auf 800px Breite ~1 min gedauert. mit sipsund ~8 min. mit mogrify(mit gelöschten Festplattenpuffern, unter Verwendung von GNU Parallel auf einem Quadcore).

ImageMagick ist ein Befehlszeilenschnittstellenprogramm und wurde für diesen Zweck entwickelt. Die Verwendung und Installation von ImageMagick kann einschüchternd sein, aber dieses Bildbearbeitungspaket ist das leistungsstärkste, das mir bisher begegnet ist. Da die Installation aus dem Quellcode für native OS X-Benutzer ein Problem sein kann, empfehle 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, nach der Installation den Vorschlägen des Installationsprogramms zu folgen. Jetzt installieren wir ImageMagick mit brew.

brew install imagemagick

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

convert input.jpg -geometry 800x600 output.png

Um Ihre Frage „So ändern Sie die Größe aller Dateien in einem Ordner und speichern sie in einem anderen Ordner“ 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 verwendet - aber ich habe es auf Drupal installiert, da ich die Bilder in Drupal importiere.
@the_karel, ich habe gerade deinen vorherigen Beitrag erweitert. Ich hoffe, dass es dir nichts ausmacht.

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, cd in diesen Ordner und führen Sie es aus

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

wo Sie die 800 x 600 durch die gewünschte Größe ersetzen.

Zu den Vorteilen gehört eine große Flexibilität in ImageMagick's convert, z. B. die Möglichkeit, verschiedene Qualitätseinstellungen für das Zielbild auszuwählen oder die Größenänderungsoption in Prozenten festzulegen. Oder Sie können verwenden -geometry 800x800, in diesem Fall wird das Seitenverhältnis beibehalten, aber das Maximum der Breite und Höhe beträgt 800 Pixel.

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

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

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

Hier sind einige Informationen von der Seite von GraphicConverter, die ihre Stapelverarbeitungs-Bildbearbeitungsfunktionen erklären .

Batch-Konvertierung mit zusätzlichen Funktionen

GraphicConverter bietet Ihnen eine ausgeklügelte Stapelverarbeitung, die sich wiederholende Aufgaben, die auf eine Auswahl von Bildern angewendet werden, vollständig automatisiert:

  • Konvertieren Sie einfach und schnell alle ausgewählten Quellbilder in ein neues Format - egal ob 5 oder 5.000 Bilddateien; Sie definieren nur die Art der Konvertierung und legen die Details fest
  • Während des Konvertierungsvorgangs können Sie bis zu 60 zusätzliche Stapelfunktionen anwenden, z. B. Drehen, Größe ändern, Auflösung ändern usw.
  • Automatisieren Sie das Entfernen des Mac OS Ressourcefork vor dem Hochladen von Dokumenten, wenn Kompatibilitätsprobleme auftreten, wenn die Bilddateien ins Internet gestellt werden
  • Erstellen Sie Kataloge im HTML-Format zur Veröffentlichung im Internet und passen Sie Farben, Größen etc. an Ihre individuellen Anforderungen an (siehe Beispiele)
  • Benennen Sie schnell und einfach eine Auswahl an Dokumenten nach speziellen 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 ...

Geben Sie hier die Bildbeschreibung ein

Dies ist ein weiteres einfaches, sauberes und effektives Skript zur Größenänderung von Bildern. Wenn Sie viel mit Grafiken und unterschiedlichen Auflösungen zu tun haben, können Sie dieses Skript verwenden und es für gelegentliche Anwendungen mit anderen Werten speichern.

Ändern Sie dazu diesen Wert target_width 120 nach Ihren Bedürfnissen und speichern Sie das Skript. Ziehen Sie nun Ihre Bilder auf die gespeicherte Skriptdatei, um mit der Größenänderung Ihrer Bilder zu beginnen.


Öffnen Sie den Skripteditor 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

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

Wenn dies jedoch Teil Ihrer Arbeit ist und Sie echte Flexibilität benötigen, spart Ihnen eine Spezialanwendung viel Zeit und bietet viel mehr Möglichkeiten. Viele Benutzer haben sich wegen seiner herausragenden Flexibilität und Benutzerfreundlichkeit für unsere Stapelbild-Resizer Resize Sense ( http://veprit.com/resizesense ) entschieden.

Haftungsausschluss: Ich bin der Entwickler. Beurteilen Sie Resize Sense besser selbst. Was genau an Resize Sense so besonders ist, erfahren Sie im Einführungsvideo auf der Produktwebsite. Es gibt eine kostenlose Demoversion.

Grafikkonverter

Das Beste dafür..

Können Sie erklären, warum GC die beste Option ist?
Während dies die Frage theoretisch beantworten kann, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen.

Normalerweise importiere ich alle Bilder in iPhoto und exportiere sie dann in den verschiedenen Größen. Ich habe es mit Stapeln von etwa 300 Bildern gemacht, aber nie in der gewünschten Größenordnung. Trotzdem kann es eine Option sein.

Niemand hat Apple Aperture erwähnt.

Obwohl es keineswegs das billigste ist, enthält es viele andere Dinge, die Sie möglicherweise nützlich finden. Es ersetzt im Grunde iPhoto und noch einige mehr. Es macht 95 % dessen, wofür Fotografen normalerweise Photoshop verwenden. (Es wird keinen flammenden Text machen. :-)

Aber wenn Sie nicht die anderen Dinge benötigen, die Aperture Ihnen bietet, unterstütze ich sowohl den ImageMagick-Ansatz – wenn Sie sich nicht durch das Herunterladen, Installieren und Ausführen von Befehlszeilenprogrammen einschüchtern lassen, als auch den Automator-Ansatz, der trotz der Behauptung von @markhunte kostenlos ist .

Ich verwende wine (und XQuartz ) und IrfanView . Natürlich können Sie imagemagick auch 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?
Ich vermute, sie meinen, sie führen IrFranView unter Wein aus. Mit Wine können Sie Windows-Software auf anderen Betriebssystemen ausführen. Mit Wine können Sie diese Anwendungen genau wie in Windows installieren und ausführen. Der Screenshot zeigt deutlich Mac-Fenster (Schaltflächen oben) mit PC-Fenster-GUI
Die Verwendung von Wine mit einer Windows-Anwendung ist wirklich ein Overkill für etwas, das Sie nativ tun können.