resizer gambar batch cepat [tertutup]

10

mencari dan tidak dapat menemukan yang sempurna.
Saya memiliki 100 mb dari urutan gambar 4K untuk diproses.

menemukan imagizer2 di sourceforge. multi-thread tetapi tidak 64bit (penting?).
Saya kira yang tercepat akan menggunakan IPP gambar inti IPP intel.

Saya di windows, tetapi jika beberapa opsi linux cepat gila tersedia saya akan mempertimbangkan (benchmark?).

termasuk tolok ukur saya berlari pada batch uji 100 5 k (4.3MB) file

yoshco
sumber
Anda menyebutkan urutan gambar - apakah Anda ingin memproses gambar individual, atau menggabungkannya menjadi urutan video? Jika yang terakhir, saya akan melakukan transformasi selama produksi dengan virtualdub.
Andy Lee Robinson
ya, rencana awal saya adalah melakukan ini semua di command line menggunakan ffmpeg ffmpeg -i d:\g\25\g_%%04d.jpg -r 15 -s hd720 -vcodec libx264 -fpre "libx264-hq.ffpreset" -crf 16 Day01_720.mp4 tetapi fmpeg sulit dikodekan untuk mendukung gambar yang tidak lebih besar dari 5012 piksel. karenanya ukurannya.
yoshco
Saya sebenarnya lebih suka avisynth untuk pekerjaan urutan gambar, itu sangat kuat.
yoshco
Penny drop! Gambar berkualitas film 4K garis, bukan gambar 4kb! Ya, avisynth hebat dan dilengkapi dengan pangkat virtual. ffmpeg adalah open source, sehingga batas 5012 pixel dapat dimodifikasi dan dikompilasi ulang, atau penulis dapat meningkatkan batas default. Seharusnya tidak sulit.
Andy Lee Robinson
menambahkan lebih banyak benchmakrs: VIPS dan GraphicsMagick vips.ecs.soton.ac.uk/index.php?title=Speed_and_Memory_Use
yoshco

Jawaban:

0

Statistik hebat - terima kasih untuk referensi. Mungkin terlambat tetapi Anda tidak menyebut hasil ImageResizer (dari Codeplex) yang disarankan dengan Batch Picture Resizer di atas. (tidak sama dengan "crapware" yang disebutkan) saya mulai menggunakannya setelah MS berhenti memperbarui Image Resizer mereka. Tetapi tentu saja tidak memiliki kebutuhan kecepatan dan volume - cukup bersih dan cepat mengubah ukuran untuk lampiran email dan semacamnya.

David
sumber
terima kasih, saya kehilangan dataset asli tetapi pada set yang sebanding tampaknya ini gila cepat.
sayang
5

Saya menggunakan IrfanView untuk mengonversi 1 GB file tiff menjadi file GIF yang lebih kecil setiap malam. Hanya butuh beberapa menit.

Perintah sampel akan terlihat seperti ini (saya menggunakan ini untuk mengonversi gambar untuk tampilan foto digital saya)

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

Ini mengubah ukuran semua file JPG dari C: \ Picutres \ Best \ ke 720x540 dan menyimpannya sebagai C: \ Temp \ miniDisp \ OrgFilename _rsz.jpg.

Saklar baris perintah yang dipahami IrfanView dapat ditemukan di dalam bantuan online (lihat Indeks - opsi baris perintah) atau online di sini

Tex Hex
sumber
irfan juga alat saya sehari-hari, tetapi irfan = 80detik untuk tes yang sama.
yoshco
Ya, itu sangat panjang dibandingkan dengan program lain. Terima kasih untuk tesnya.
Tex Hex
irfanview juga viewer dan batch processor pilihan saya meskipun virtualdub juga merupakan alat yang penting. Ini dapat digunakan untuk menggabungkan urutan gambar menjadi video dengan manfaat kompresi delta, dan gambar dapat diambil dengan mengindeks sebuah bingkai.
Andy Lee Robinson
5

Tidak yakin bagaimana itu akan membandingkan di dept patokan tetapi Anda mungkin ingin mencoba ImageMagick menggunakan alat "convert" atau "mogrify". Kedengarannya seperti menggunakan 64 bit, jumlah core dan semacamnya.
Yang saya tahu adalah itu sangat kuat dan fitur penuh. Saya dapat mengubah ukuran di tempat atau menambahkan opsi seperti filter ulang contoh dan konversi tipe file.

mogrify -format jpg -filter Cubic -resize 20%x20% rgb-?.png
Dennis
sumber
saya suka cmd, tapi saya juga patokan barang rongsokan ... mageMagick-6.7.1-Q16x64 = 149sec
yoshco
Saya kira saya tidak terkejut karena tampaknya ImageMagick lebih merupakan pisau tentara Swiss daripada pisau bedah. Dilakukan dengan baik pada pertanyaan dan tolok ukur.
Dennis
4

Lihatlah program-program ini:

  1. Pengatur Gambar Batch .
  2. Pengubah Gambar .

Mengubah ukuran gambar menggunakan file batch: Ubah Ukuran Batch .

TookTheRook
sumber
2
saya mengambil 100 gambar 5k: resizer gambar batch = 30detik imagizer2 = 64detik
yoshco
Coba yang ini: Fast Image Resizer ( adionsoft.net/fastimageresize ). Yang ini juga tampak menjanjikan: jelasidea.com/windows-software/light-image-resizer
TookTheRook
1
Sizer gambar cepat = 110 dtk
yoshco
light-image-resizer adalah crapware
yoshco
Iklan palsu kemudian. Coba metode kumpulan yang saya masukkan dalam komentar yang diedit. Jika itu tidak membantu maka saya kehabisan pilihan. Jika tidak, jika pengubah ukuran gambar memerlukan waktu 30 detik, untuk mengubah ukuran 500 MB kata gambar (dengan asumsi masing-masing dari 100 gambar adalah 5 Mb. Ea), perlu waktu 1 jam, 40 menit untuk mengubah ukuran semua 100 GB foto yang Anda buat memiliki. Itu tidak terlalu buruk?
TookTheRook
1

Paralel dapat digunakan untuk mempercepat konversi batch dengan imagemagick.

Perkecil setiap * .jpg dalam direktori sedemikian sehingga tinggi maupun lebarnya tidak lebih dari 1080 piksel:

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

Menggunakan konversi untuk membuat file terpisah yang lebih kecil:

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

Perhatikan bahwa ini berlaku untuk paralel GNU, bukan versi yang dikemas dalam versi lebih Debian, yang memiliki sintaks yang berbeda & fitur yang lebih sedikit. Lihat halaman manual untuk informasi lebih lanjut tentang paralel.

Evilsoup
sumber
0

vips lebih cepat, untuk saya:

$ 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

Kecepatan dibatasi oleh jpeg encode / decode, yang (berkat libjpeg) adalah single-threaded. Anda bisa menjalankannya sedikit lebih cepat jika Anda menjalankan beberapa vipsthumbnail secara paralel:

$ 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

Ini pada iMac 2012, tetapi ada juga windows binari.

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

jcupitt
sumber