Welches Programm kann einen Ordner mit Bildern automatisch auf eine bestimmte Auflösung skalieren und zuschneiden?

Ich möchte einen Ordner mit Bildern in verschiedenen Größen nehmen und sie auf ein 600 x 600-Rasterquadrat zuschneiden lassen, das aus der Mitte des Bildes ausgeschnitten wird. Gibt es ein Programm, das automatisch die Größe ändern und auf diese Abmessungen zuschneiden und dann als komprimierte .png-Datei ausgeben kann? Bei Bildern, die kleiner als 600 x 600 sind, möchte ich, dass das Programm die Bildgröße auf diese Dimension erhöht.

Ich habe mein Irfanview überprüft, und sein Batch-Zuschnitt ist statisch mit nur der Option, an Ecken und einem festen Versatz zu beginnen. Es kann die vom OP angeforderte Zentrierung und bedingte Größenänderung nicht durchführen. Es ist nicht für variable Bildgrößen geeignet.
Ich war sehr hoffnungsvoll , dass XnConvert das tun könnte, wonach Sie suchen, aber wie IrfanView wird es keinen zentrierten Zuschnitt auf beliebige Bildgrößen durchführen.

Antworten (11)

Der Batch-Befehl von Photoshop kann dies tun. Sie würden sich im Wesentlichen selbst „aufzeichnen“, indem Sie den Zuschnitt usw. einmal durchführen, und dann die Aufnahme für alle gewünschten Dateien ausführen. Wenn Sie die Größe der kleineren Bilder automatisch ändern möchten, müssen Sie ein wenig Skripting durchführen.

Irfanview verfügt auch über einen umfassenden Bildstapelprozessor, erfordert jedoch möglicherweise ein wenig Experimentieren, um die gewünschten Ergebnisse zu erzielen.

Mit ImageMagick können Sie Befehle in einem Windows-Befehlsfenster ausführen. Sie müssen mit der Erstellung von DOS-Stapeldateien vertraut sein.

Ein Beispiel finden Sie im letzten Post dieser Diskussion: http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=21112

Relevantes Beispiel aus diesem Forumsbeitrag:

@echo off

cd C:\Users\user\Desktop\New\New folder

convert *.jpg -fuzz 10%% -trim -write %%02d_trim.png -scale "x1!" txt:

convert *_trim.png -crop 209x329+0+0 -fuzz 10%% -trim +repage %%02d_left.png

convert *_trim.png -crop 173x336+227+0 -fuzz 10%% -trim +repage %%02d_right.png

@pause
Am besten werden hier die relevanten Teile externer Quellen zitiert oder zusammengefasst. Externe Links können möglicherweise jederzeit offline gehen und eine Antwort ungültig machen, die nur einen Link enthält. Der von Ihnen bereitgestellte Link enthält eine Antwort. Ich möchte Sie jedoch bitten, den entsprechenden Befehl hier in Ihrer Antwort zu zitieren, um ihn praktikabler zu machen.

Zuerst dachte ich, Sie wollten die Größe im Stapel ändern, was viele Programme können. Aber dann wurde mir klar, dass Sie eine Kombination aus Größenänderung und Zuschneiden durchführen möchten, und Sie möchten, dass der Computer berechnet, wie 600 x 600 Pixel am besten dynamisch aus dem Bild ausgeschnitten werden.

Dies liegt daran, dass es sich nicht um eine Aufgabe handelt, bei der es sich um eine "einzig wahre Lösung" handelt, da es normalerweise eine menschliche Beurteilung ist, wie das Bild zugeschnitten werden soll, sodass dies nur durch Bootstrapping bestimmter Bedingungen möglich ist. Sehen Sie sich beispielsweise das Seitenverhältnis an und ändern Sie die kürzeste Abmessung immer auf X und beschneiden Sie Y-Pixel (zentriert/rechts/links). Wenn ich Ihre Aussage richtig verstehe, möchten Sie 600 Pixel von X und Y zentriert in beiden Dimensionen beschneiden, wenn beide Dimensionen 600 oder mehr betragen. Und die Größe nur auf 600 ändern, wenn eine Dimension kleiner als 600 ist?

Ich wollte meinem Programm "Image View Plus More" schon lange eine Funktion wie diese hinzufügen, und ich denke, die Funktionseinstellungen sollten ungefähr so ​​​​aussehen: - Zuschneidegröße: BxH - Breite ausrichten: Mitte/links/rechts - Höhe ausrichten: Mitte/links/rechts - Größe ändern: nein/wenn kleiner als/wenn größer als/beide

Benötigen Sie weitere Einstellungen?

Update: Ich bin jetzt damit fertig, diese Funktion in Image View Plus 2.4 zu programmieren:

http://www.sequoiagrove.dk/tools.php

Anleitung: Installieren, Bilder, die Sie zuschneiden möchten, per Drag'n'Drop hineinziehen, "Alle in neuem Ordner speichern" und ihm einen Basisnamen oder % geben, um den ursprünglichen Dateinamen zu verwenden, und dann im nächsten Dialogfeld "Autocrop " und füllen Sie die Felder für Breite und Höhe aus, und wählen Sie die Ausrichtung "Mitte" für Höhe und Breite und aktivieren Sie "Größe ändern, wenn kleiner".

Ich habe ein Tutorial gemacht, wie es geht:

Die Lösung des OP-Problems: http://www.youtube.com/watch?v=wBc1s6zuDJM

Ein weiteres Beispiel: http://www.youtube.com/watch?v=3nFrnaefsqA

Siehe meine Antwort, ich habe den Code in Python geschrieben.
Ja, jetzt ist es nicht so statisch, aber bist du sicher, dass der OP daran interessiert ist, seine Bildbearbeitung zu programmieren?
Ich habe keine Ahnung. Das OP hat gerade nach einem Programm gefragt, also habe ich eines geschrieben.
Wie Sie sehen, habe ich die Funktion jetzt hinzugefügt, und ich habe Ideen für Verbesserungen, wie "Beispielhaft anzeigen" (auf dem aktuell angezeigten Foto), sodass Sie sich nicht auf zentriert oder an den Rändern ausgerichtet beschränken müssen. Natürlich müsste ich herausfinden, wie ich dieses Beispiel auf verschiedene Seitenverhältnisse und Größen verallgemeinern kann.
Nett! In was ist dein Programm geschrieben und ist der Quellcode verfügbar?
Ich mache es in Visual Studio C++ mit MFC. Daher der Oldschool-Look. Mein Design ist einfach, arbeite an den Bildern, während du das Bild siehst, nicht einen halben Bildschirm voller Tools, und es nicht von DLLs abhängig zu machen, also ist es die eine exe-Datei. Das bedeutet, dass ich keine anderen Bibliotheken als die enthaltenen verwende, außer einer JPEG-Bibliothek und dcraw, aber sie werden direkt in die ausführbare Datei kompiliert. Dadurch lässt es sich blitzschnell arbeiten. Es ist mein Standardprogramm zum Öffnen mit. Bei jedem Feature frage ich mich „wie komme ich am einfachsten mit wenigen Klicks zum gewünschten Ergebnis?“.
Leider bedeutet dies, dass es schwierig ist, damit anzufangen, da Sie die Tricks kennen müssen (z. B. wie man Blend Back und Buffer 1-9 verwendet). Deshalb habe ich angefangen, Tutorials zu machen. Apropos, ich habe die Funktion "autocrop by example" erstellt. Ich habe ein neues Tutorial erstellt, um das zu zeigen - diesmal mit einem echten Fall.
Ihr MSI-Installationsprogramm benötigt zur Installation Administratorrechte. Wie können Sie Ihr Installationsprogramm so ändern, dass es wie andere Apps vom Benutzer installiert wird?

Wenn Sie gerne programmieren, können Sie Python (Computersprache) und eine ausgezeichnete Bibliothek verwenden, die PIL zum Zuschneiden, Ändern der Größe, Plotten von Histogrammen, Abrufen einzelner Pixelwerte usw. auf programmatischer Ebene enthält. So können Sie ganz einfach ein einfaches Skript schreiben, um alle Bilder in einem Ordner zu finden und die Operation auszuführen.

Dieser Code sollte genau das tun, was Sie wollen, und je nach Bildgröße ein paar Bilder pro Sekunde verarbeiten:

#Python 2.7, PIL 1.1.7

import Image
import glob
import os

#Function to resize image, preserving aspect ratio
def resizeAspect(im, size):
    w,h = im.size
    aspect=min(size[0]/float(w), size[1]/float(h))
    return im.resize((int(w*aspect),int(h*aspect)),Image.ANTIALIAS)

imgList=glob.glob('C:/icons/*.png')         #Find all png images in a directory

for img in imgList:                              #Loop through all found images
    im = Image.open(img)                         #open the image
    print "resizing:",os.path.basename(img)
    w,h = im.size                                #Get image width and height
    if min(w,h)<600:                             #Check if either dimension is smaller then 600
        im=resizeAspect(im,(600,600))            #Re-size Image
        w,h = im.size                            #update image size
    center = [int(w/2.0),int(h/2.0)]             #Calculate Center
    box = (center[0]-300, center[1]-300, center[0]+300, center[1]+300) #Defines a box where you want it to be cropped
    croppedIm = im.crop(box)                     #Crop the image
    #croppedIm.show()                            #Show the cropped image
    fileName, fileExtension=os.path.splitext(img)
    croppedIm.save(fileName+'_crop.png', "PNG")  #Save the cropped image

Wenn Sie anfangen, auf programmatischer Ebene zu arbeiten, dann sind Ihnen keine Grenzen gesetzt! Es ist sogar möglich, Gesichter zu erkennen und um das Gesicht herum zuzuschneiden, sodass Sie Tausende von Fotos intelligent zuschneiden können ...

[aktualisiert am 12.09.2012]

ThumbsPlus kann tun, was Sie verlangen. Wählen Sie im Menü Bild die Option Stapelverarbeitung aus oder drücken Sie F12 und beantworten Sie die interaktiven Eingabeaufforderungen. Sie können einem Set mehrere Operationen hinzufügen und es für die sofortige Verwendung sowie für die zukünftige Verwendung speichern. Greifen Sie in Zukunft einfach auf den Set-Namen zu, den Sie zuvor konfiguriert haben, um es automatisch für ein Verzeichnis oder eine Auswahl von Fotos oder sogar einen ganzen Verzeichnisbaum auszuführen.

Beim Erstellen des Sets erhalten Sie ein Beispielbild, um die Option zu veranschaulichen, die Sie den Operationen hinzugefügt haben.

Seien Sie beim Aufbau des Sets vorsichtig, da die Reihenfolge der Operationen wichtig ist.

Sizzlepig.com ist ein Online-Tool, mit dem Sie dies ganz einfach tun können. Sie können die "Blueprint" -Größe auf 600 x 600 einstellen und dann alle Bilder zentrieren.

Für den Teil "Für Bilder, die kleiner als 600 x 600 sind, möchte ich, dass das Programm die Größe des Bildes auf diese Dimension erhöht." Ich würde dringend empfehlen, NICHT zu versuchen, die Bilder hochzuskalieren, sondern zu versuchen, eine Quelle mit höherer Qualität zu finden, mit der Sie arbeiten können. Ich weiß, dass dies nicht immer möglich ist, aber es führt zu einer Ausgabe von viel höherer Qualität als der Versuch einer Hochskalierung.

(Ich arbeite für sizzlepig, aber es ist immer noch ein großartiges Tool)

Bitte siehe FAQ . Es ist in Ordnung, Ihre eigenen Dinge hier zu erwähnen, aber Sie müssen es sagen.
Kühl. Willkommen auf der Website, und bleiben Sie in der Nähe und beantworten und stellen Sie einige andere Fragen. :)

Irfanview kann tun, wonach Sie fragen. Der Batch-Modus bietet viele Optionen.

Hier ist ein kleiner Tutorial-Link: http://gd.tuwien.ac.at/graphics/irfantut/batchcon.html

Irfanview kann dies tun, erfordert jedoch ein wenig Einrichtung.

Verwenden Sie die Batch-Konvertierungsoption. Wählen Sie als Ausgabeformat „PNG“. Klicken Sie neben dem Ausgabeformat auf die Schaltfläche „Optionen“, wählen Sie die gewünschte Komprimierung und klicken Sie auf „OK“.

Aktivieren Sie das Kontrollkästchen "Erweiterte Option verwenden" und klicken Sie dann auf die Schaltfläche "Erweitert".

Sie sehen dieses Fenster

Erweiterte Irfanview-Einstellungen

Richten Sie die Größenänderung mit der kürzesten Seite 600 ein. Stellen Sie sicher, dass Sie "Seitenverhältnis beibehalten" und "Resample-Funktion verwenden" ankreuzen. Deaktivieren Sie „Kleinere Bilder nicht vergrößern“

Wenn Sie die Größe Ihrer Originalbilder drastisch reduzieren, können Sie das Kästchen "Schärfen" ankreuzen und einen Wert hinzufügen. Meine Anforderungen waren Bilder mit einer Größe von 150 x 150, und ich stellte fest, dass sie einen Schärfewert von etwa 20 benötigten, um der Bildqualität zu entsprechen, die ich von Photoshop erhielt. Für Ihre 600x600-Bilder benötigen Sie möglicherweise keinen Schärfewert - Sie können diese Option also deaktivieren.

Verwenden Sie anstelle von "Zuschneiden" die Einstellung "Leinwandgröße" - stellen Sie sicher, dass Sie die Option aktivieren

Klicken Sie auf die Schaltfläche „Einstellungen“ neben der Option für die Leinwandgröße. Sie sehen dieses Fenster

Irfanview-Leinwandgrößenoptionen

Wählen Sie Methode 2 und Breite und Höhe als 600. Wählen Sie die Option "Mitte" für den Anker

Die Leinwandfarbe spielt keine Rolle, da sie keinen Bildrand hinzufügt

Aktivieren Sie nun auf dem erweiterten Bildschirm erneut das Kontrollkästchen neben "Benutzerdefinierte Verarbeitungsreihenfolge" und stellen Sie sicher, dass die "Größenänderung" an erster Stelle in der Liste steht - dh, dass die Größenänderung vor dem Zuschneiden erfolgt.

OK klicken

Stellen Sie sicher, dass Sie die Dateien ausgewählt haben, die Sie konvertieren möchten, richten Sie das Ausgabeverzeichnis ein und klicken Sie dann auf „Stapel starten“.

Suchen Sie nach Phatch (Linux, Mac, Windows), es ist genau das, wonach Sie suchen: http://photobatch.stani.be/download/index.html

Unter http://pixresizer.software.informer.com/ ist ein Dienstprogramm mit mehreren Optionen verfügbar .

Das ist gute Software. Gutes Mittel, einfach zu bedienen und schneller in der Arbeit. Während ich fotografiere, verwende ich es, um Bilder im Stapel zu verarbeiten. Oft muss ich die Größe von Bildern reduzieren, um sie über das Internet zu teilen. Ich habe auch andere Software ausprobiert, fand diese aber gut. (Ich bin nicht mit dieser Firma verbunden.)

Ist die Software gut? Wieso den? Sind Sie mit dem Unternehmen verbunden?
Hallo Paul, Ja, das ist eine gute Software. Gutes Mittel, einfach zu bedienen und schneller in der Arbeit. Während ich fotografiere, verwende ich es, um Bilder im Stapel zu verarbeiten. Ich habe auch andere Software ausprobiert, fand sie aber gut. Nein!, ich bin nicht mit diesem Unternehmen verbunden.
Mahesh, kannst du deine Kommentare aufnehmen und deine Antwort bearbeiten? Nicht jeder liest die Kommentare. Und erzähl uns mehr und mehr darüber, wir würden es gerne wissen!

Ich weiß nicht, warum es niemand erwähnt, aber mein Favorit ist multipleimageresizer.net . Sie können damit viele Dinge tun, wie Zuschneiden, Format ändern, Größe ändern, Text hinzufügen, Wasserzeichen usw. auf mehreren Bildern gleichzeitig.

Dies ist eine echte Zeitersparnis. Ich empfehle!