Fast Batch Image Resizer [geschlossen]

10

suchen und kann nicht die perfekte finden.
Ich habe 100 Gig 4K-Bildsequenz zu verarbeiten.

fand imagizer2 auf sourceforge. Multithread, aber nicht 64bit (spielt eine Rolle?).
Ich denke, der schnellste wird Intel IPP Image Core Lib verwenden.

Ich bin unter Windows, aber wenn eine verrückte schnelle Linux-Option verfügbar ist, werde ich darüber nachdenken (Benchmarks?).

Inklusive Benchmarks, die ich auf einem Teststapel von 100 5k (4,3MB) Dateien ausgeführt habe

Yoshco
quelle
Sie haben die Bildsequenz erwähnt - möchten Sie einzelne Bilder verarbeiten oder zu Videosequenzen kombinieren? In letzterem Fall würde ich die Transformationen während der Produktion mit virtualdub durchführen.
Andy Lee Robinson
Ja, mein ursprünglicher Plan war es, dies alles in der Befehlszeile mit ffmpeg zu tun, ffmpeg -i d:\g\25\g_%%04d.jpg -r 15 -s hd720 -vcodec libx264 -fpre "libx264-hq.ffpreset" -crf 16 Day01_720.mp4 aber fmpeg ist fest codiert, um Bilder zu unterstützen, die nicht größer als 5012 Pixel sind. daher die Größenänderung.
Yoshco
Ich bevorzuge eigentlich Avisynth für die Bildsequenzarbeit, es ist so mächtig.
Yoshco
Penny fällt! Bilder in 4K-Linienfilmqualität, keine 4kb-Bilder! Ja, Avisynth ist großartig und wird mit virtuellem Dub geliefert. ffmpeg ist Open Source, daher kann das 5012-Pixel-Limit geändert und neu kompiliert werden, oder die Autoren können das Standard-Limit erhöhen. Es sollte nicht schwierig sein.
Andy Lee Robinson
Hinzufügen weiterer Benchmakrs: VIPS und GraphicsMagick vips.ecs.soton.ac.uk/index.php?title=Speed_and_Memory_Use
yoshco

Antworten:

0

Tolle Statistiken - danke für die Referenzen. Vielleicht zu spät, aber Sie haben die oben mit Batch Picture Resizer vorgeschlagenen ImageResizer-Ergebnisse (von Codeplex) nicht erwähnt. (nicht dasselbe wie die erwähnte "Crapware") Ich habe damit begonnen, nachdem MS die Aktualisierung ihres Image Resizer eingestellt hat. Aber sicherlich haben Sie nicht die Geschwindigkeits- und Volumenanforderungen - nur saubere und schnelle Größenänderungen für E-Mail-Anhänge und dergleichen.

David
quelle
danke, ich habe den ursprünglichen Datensatz verloren, aber auf einem vergleichbaren Satz scheint dies schnell verrückt zu sein.
Schade
5

Ich verwende IrfanView , um jede Nacht 1 GB TIFF-Dateien in kleinere GIF-Dateien zu konvertieren. Dauert nur einige Minuten.

Ein Beispielbefehl würde so aussehen (ich verwende ihn, um Bilder für meine digitale Fotoanzeige zu konvertieren).

"C:\Program Files (x86)\IrfanView\i_view32.exe" "C:\Pictures\Best\*.jpg" /resample=(720,540) /aspectratio /convert="C:\Temp\miniDisp\*_rsz.jpg"

Dadurch wird die Größe aller JPG-Dateien von C: \ Picutres \ Best \ auf 720 x 540 geändert und als C: \ Temp \ miniDisp \ OrgFilename _rsz.jpg gespeichert.

Die Befehlszeilenschalter, die IrfanView versteht, finden Sie in der Online-Hilfe (siehe Index - Befehlszeilenoptionen) oder online hier

Tex Hex
quelle
irfan ist auch mein tägliches Werkzeug, aber irfan = 80sec für denselben Test.
Yoshco
Nun, das ist wirklich lang im Vergleich zu den anderen Programmen. Danke für die Tests.
Tex Hex
irfanview auch mein Viewer und Batch-Prozessor der Wahl, obwohl virtualdub auch ein wesentliches Werkzeug ist. Es könnte verwendet werden, um Bildsequenzen mit dem Vorteil der Delta-Komprimierung zu einem Video zu kombinieren, und ein Bild könnte durch Indizieren eines Rahmens abgerufen werden.
Andy Lee Robinson
5

Sie sind sich nicht sicher, wie es in der Benchmark-Abteilung verglichen werden soll, aber Sie können ImageMagick mit den Tools "Konvertieren" oder "Mogrifizieren" ausprobieren. Es hört sich so an, als würde es 64 Bit, die Anzahl der Kerne und dergleichen gut nutzen.
Ich weiß nur, dass es wirklich leistungsstark und voll funktionsfähig ist. Ich kann die Größe ändern oder Optionen wie Resample-Filter und Dateitypkonvertierungen hinzufügen.

mogrify -format jpg -filter Cubic -resize 20%x20% rgb-?.png
Dennis
quelle
Ich liebe cmd, aber ich bin auch Benchmark Junky ... mageMagick-6.7.1-Q16x64 = 149sec
yoshco
Ich bin wohl nicht überrascht, denn ImageMagick scheint eher das Schweizer Taschenmesser als das Skalpell zu sein. Gut gemacht bei der Frage und den Benchmarks.
Dennis
4

Schauen Sie sich diese Programme an:

  1. Batch Picture Resizer .
  2. Image Resizer .

Ändern der Größe von Bildern mithilfe von Batchdateien: Batch-Größenänderung .

NahmTheRook
quelle
2
Ich habe 100 5k Bilder gemacht: Batch Picture Resizer = 30sec Imagizer2 = 64sec
Yoshco
Versuchen Sie Folgendes: Fast Image Resizer ( adionsoft.net/fastimageresize ). Dieser scheint auch vielversprechend: offensichtlichidea.com/windows-software/light-image-resizer
TookTheRook
1
Schnelle Bildgröße = 110 Sek.
Yoshco
Light-Image-Resizer ist Crapware
Yoshco
Dann falsche Werbung. Probieren Sie die Batch-Methode aus, die ich in den bearbeiteten Kommentar eingefügt habe. Wenn das nicht hilft, habe ich keine Optionen mehr. Andernfalls sollte es 1 Stunde und 40 Minuten dauern, bis die Größe aller 100 GB Bilder geändert wurde, wenn der Batch-Bild-Resizer 30 Sekunden benötigt hat, um die Größe von 500 MB Wortbildern zu ändern (vorausgesetzt, jedes der 100 Bilder hat eine Größe von 5 MB pro Jahr) haben. Das ist nicht so schlecht?
TookTheRook
1

Parallel kann verwendet werden, um Batch-Konvertierungen mit imagemagick zu beschleunigen.

Verkleinern Sie jedes * .jpg in einem Verzeichnis so, dass weder Höhe noch Breite größer als 1080 Pixel sind:

parallel mogrify "{}" -resize 1080x1080 ::: *.jpg

Verwenden von convert zum Erstellen separater kleinerer Dateien:

parallel convert "{}" -resize 1080x1080 "{.}-small.jpg" ::: *.jpg

Beachten Sie, dass dies für GNU parallel gilt, nicht für die Version, die in Debians moreutils enthalten ist und eine andere Syntax und weniger Funktionen aufweist. Weitere Informationen zu Parallel finden Sie in der Manpage.

Übelsuppe
quelle
0

vips ist für mich schneller:

$ header sample.jpg 
sample.jpg: 8888x5000 uchar, 3 bands, srgb, jpegload
$ for i in {1..100}; do cp sample.jpg t$i.jpg; done
$ time vipsthumbnail --size 1280 t*
real  0m14.672s
user  0m17.631s
sys   0m0.988s

Die Geschwindigkeit wird durch JPEG-Codierung / -Decodierung begrenzt, die (dank libjpeg) Single-Threaded ist. Sie können es viel schneller zum Laufen bringen, wenn Sie mehrere vipsthumbnail gleichzeitig ausführen:

$ mkdir a b c d e
$ for j in a b c d e; do for i in {1..20}; do cp sample.jpg $j/t$i.jpg; done; done
$ time (for i in a b c d e; do vipsthumbnail --size 1280 $i/t* & done; wait)
real  0m5.258s
user  0m18.557s
sys   0m0.891s

Dies ist auf einem 2012 IMAC, aber es gibt auch Windows-Binärdateien.

http://www.vips.ecs.soton.ac.uk/supported/current/

jcupitt
quelle