Apa program yang bagus untuk mengubah ukuran 100.000 gambar jpg?


21

Program harus berjalan dalam mode batch untuk mengubah ukuran semua file dalam folder dan kemudian menyimpan file baru ke folder yang berbeda. Pilihan untuk mengatur kualitas jpg juga akan bagus.


2
Kombinasi find dan ImageMagic.
mspasov

Jawaban:


30

Saya sedikit terkejut bahwa tidak ada yang menyebutkan opsi termudah, termurah, dan paling tidak teknis:

Automator

Pertama, buka Automator, yang ada di folder Aplikasi Anda.

Selanjutnya, pilih untuk membuat alur kerja baru:

Buat alur kerja automator

Selanjutnya, tambahkan langkah-langkah berikut ke alur kerja dengan menyeret dan menjatuhkan:

langkah-langkah alur kerja

Ketika Anda menjalankan ini, Automator akan:

  1. muncul jendela yang meminta Anda untuk memilih beberapa file (sebanyak yang Anda inginkan)
  2. muncul jendela lain menanyakan di mana Anda ingin menyimpan salinan yang diubah ukurannya
  3. tanyakan seberapa besar Anda ingin salinannya diubah ukurannya. Anda dapat memilih ukuran tetap atau persentase. Semua gambar akan diubah ukurannya menjadi ukuran itu atau dengan persentase itu.

(Kotak centang "perlihatkan tindakan ini saat alur kerja berjalan" berarti bahwa alur kerja akan dihentikan sebentar, tampilkan opsi, dan izinkan Anda untuk mengubahnya kemudian)

Setelah Anda melakukan itu, Automator akan mengocok dan membakar, dan ketika selesai akan berbunyi bip pada Anda.

Sayangnya, sepertinya tidak memiliki opsi untuk memilih kualitas JPEG. Namun, untuk harganya (gratis), lumayan nyaman.


Ini mungkin yang paling tidak teknis untuk seseorang yang tidak menggunakan Terminal. Dan mungkin yang termudah, Tapi bukan yang termurah dari jawaban di sini. Menghirup termasuk dalam Unix build dari Mac. Dan ImageMagick juga gratis.
markhunte

3
Aman untuk berasumsi bahwa Automator adalah, untuk keperluan diskusi ini gratis karena masuk akal untuk menganggap bahwa @mototribe menjalankan OS X. Satu kekhawatiran saya adalah seberapa baik Automator akan menangani 100.000 gambar tetapi, dengan asumsi mereka tidak semua dalam satu folder, saya akan terus memberi makan satu folder pada satu waktu sampai selesai. Saya sudah menjalankan alur kerja yang sangat ini terhadap ratusan gambar tanpa kesulitan. Saya tidak melihat alasan mengapa itu tidak akan berhasil melawan ribuan, karena setiap gambar didorong melalui satu per satu, tapi saya akan percaya tapi memverifikasi mode.
jaberg

Yep Automator melakukan pekerjaan dengan sempurna. Saya datang ke sini berpikir "Saya telah menemukan utilitas baris perintah yang akan mengubah ukuran gambar" ... Terkadang solusi termudah juga yang terbaik. Tepuk tangan.
Silouane Gerin

19

Saya suka menggunakan ImageMagick. sipsdan Automator (yang menggunakan metode pengubahan ukuran yang identik) membuat gambar terlihat terlalu buram tanpa penajaman tambahan menurut saya.

Anda dapat menginstal ImageMagick dengan brew install imagemagicksetelah menginstal Homebrew atau dengan sudo port install imagemagicksetelah menginstal MacPorts . Kemudian jalankan perintah seperti ini:

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

500x500>membuat gambar lebih lebar atau lebih tinggi dari 500px cocok untuk 500x500px. 500xakan selalu mengubah lebar menjadi 500 px dan 500x500^akan membuat semua gambar setidaknya 500x500px. -path /tmp/menyimpan file output /tmp/daripada memodifikasi file pada tempatnya.

Lanczos2atau Lanczos 2-lobe sangat mirip dengan Catrom. Dibandingkan dengan Lanczos( Lanczos3), mereka sedikit kurang tajam, menghasilkan artefak dering lebih sedikit, dan menghasilkan lebih banyak pola Moiré. Filter default untuk membuat gambar lebih kecil adalah Triangle, yang sering membuat gambar terlalu buram menurut saya.

-quality 100membuat file sekitar dua kali lebih besar -quality 95, yang membuat file sekitar dua kali lebih besar -quality 88.

Informasi lebih lanjut:

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

Berikut ini perintah serupa yang menggunakan sips:

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

-Z 500seperti 500x500>di ImageMagick.

Jika orang lain memiliki kurang dari 100.000 gambar, Anda mungkin juga menggunakan Pratinjau:

Pratinjau digunakan untuk menggunakan metode pengubahan ukuran yang sama seperti sipsdan Automator, tetapi telah menggunakan yang berbeda sejak 10.7. Saya lebih suka ImageMagick Lanczos2.

Saya mengunggah perbandingan opsi yang berbeda ke http://19a5b0.s3-website-us-west-2.amazonaws.com/imagemagick-osx-resizing/index.html .


1
Saya ingin memperingatkan Anda untuk menggunakan mogrify: ini mengkonversi file di tempat, menimpa yang asli! Jika ada yang salah, Anda telah kehilangan file Anda! Penggunaan yang lebih baik convert(juga dari ImageMagick).
Kurt Pfeifle

1
@KurtPfeifle Tidak jika Anda menentukan -pathopsi (yang convertsaat ini tidak memiliki).
Lri

Jika Anda ingin kecepatan maka sipsmungkin merupakan pilihan yang lebih baik. Pada tes cepat dengan 1.000 JPG á ~ 5 MB, mengubah ukuran menjadi 800px, butuh waktu ~ 1 menit. dengan sipsdan ~ 8 mnt. dengan mogrify(dengan buffer disk dibersihkan, menggunakan GNU Parallel pada quadcore).
Stefan Schmidt

13

ImageMagick adalah program antarmuka baris perintah dan dibuat untuk tujuan ini. Penggunaan dan pemasangan ImageMagick dapat mengintimidasi, tetapi paket manipulasi gambar ini adalah yang paling kuat yang saya temui sejauh ini. Karena penginstalan dari sumber dapat merepotkan bagi pengguna OS X asli, saya menyarankan Anda untuk menggunakan Homebrew .

Untuk menginstal ImageMagick menggunakan Homebrew, jalankan oneliner ini di terminal Anda:

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

Homebrew sekarang terinstal, sebaiknya ikuti saran installer setelah instalasi. Sekarang kita menginstal ImageMagick menggunakan brew.

brew install imagemagick

ImageMagick sekarang diinstal dan convertprogramnya dapat digunakan untuk tujuan Anda. Untuk mengonversi gambar jpg besar ke gambar png yang lebih kecil, Anda dapat menjalankannya

convert input.jpg -geometry 800x600 output.png

Untuk menjawab pertanyaan Anda "Bagaimana mengubah ukuran semua file dalam folder dan menyimpannya di folder yang berbeda" Anda dapat menjalankan skrip berikut.

# 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 dapat mengonversi lebih dari 100 format gambar yang berbeda, dan hampir semua trik yang dapat Anda lakukan dengan Photoshop dapat Anda lakukan dengan ImageMagick.


terima kasih, itulah yang akhirnya saya gunakan - namun saya menginstalnya di Drupal karena saya mengimpor gambar ke Drupal.
uwe

@the_karel, saya baru saja meningkatkan posting Anda sebelumnya. Saya harap kamu tidak keberatan.
CousinCocaine

7

Beberapa orang telah menyebutkan ImageMagick. Ini resepnya: Untuk mempermudah, anggap semua file ada dalam satu folder (dan folder itu tidak berisi yang lain). Buka jendela terminal, masukkan ke dalam folder ini, lalu jalankan

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

tempat Anda mengganti 800x600 dengan ukuran apa pun yang Anda inginkan.

Keuntungan termasuk sejumlah besar fleksibilitas dalam ImageMagick convert, seperti kemampuan untuk memilih pengaturan kualitas yang berbeda untuk gambar target, atau pengaturan opsi ukuran oleh persentase. Atau Anda dapat menggunakan -geometry 800x800, dalam hal ini rasio aspek akan dipertahankan, tetapi maksimum lebar dan tinggi akan menjadi 800 piksel.

Kerugiannya adalah yang jelas: Dibutuhkan keakraban tertentu dengan baris perintah, ditambah kesediaan untuk membajak melalui opsi baris perintah convertuntuk pengaturan yang Anda inginkan. Ini bukan tugas untuk menjadi lemah hati.


4

Saya kedua GraphicConverter . Saya telah menjadi pengguna terdaftar selama 16 tahun. Tujuan utamanya adalah pengeditan gambar batch-processing, dan memiliki antarmuka pengguna yang baik untuk merancang alur kerja kustom dan menyimpannya.

Anda juga dapat menggunakannya bersamaan dengan Automator, tetapi Anda mungkin tidak perlu melakukannya.

Berikut adalah beberapa informasi dari halaman GraphicConverter yang menjelaskan fungsi pemrosesan gambar editing batch mereka .

Konversi batch dengan fungsi tambahan

GraphicConverter menawarkan Anda pemrosesan batch canggih yang sepenuhnya mengotomatiskan tugas berulang yang diterapkan pada pilihan gambar:

  • Konversi semua gambar sumber yang dipilih dengan mudah dan cepat ke dalam format baru - terlepas dari apakah ada 5 atau 5.000 file gambar; Anda cukup menentukan jenis konversi dan mengatur detailnya
  • Selama proses konversi, Anda dapat menerapkan hingga 60 fungsi batch tambahan seperti rotasi, mengubah ukuran, mengubah resolusi, dll.
  • Otomatis menghapus Ressourcefork Mac OS sebelum dokumen diunggah jika ada masalah kompatibilitas ketika file gambar ditempatkan di internet
  • Buat katalog dalam format HTML untuk publikasi di internet dan sesuaikan warna, ukuran, dll. Dengan kebutuhan pribadi Anda (lihat contoh)
  • Ganti nama dokumen pilihan sesuai dengan kriteria khusus dengan cepat dan mudah
  • Gabungkan gambar bersama (mis. Untuk QuickTime VR)
  • Masukkan atau ekstrak informasi IPTC ke dalam atau keluar dari berbagai format dokumen
  • dan banyak lagi ...

masukkan deskripsi gambar di sini


4

Ini adalah skrip ukuran gambar batch yang sederhana, bersih dan efektif. Jika Anda sering berurusan dengan gambar dan resolusi yang berbeda, Anda dapat menggunakan skrip ini dan menyimpannya dengan nilai yang berbeda untuk penggunaan sesekali.

Lakukan itu, dengan mengubah nilai target_width 120 ini ke kebutuhan Anda dan simpan skripnya. Sekarang seret gambar Anda ke file skrip yang disimpan untuk mulai mengubah ukuran gambar Anda.


Buka Editor Skrip, dan buat skrip baru berikut:

-- 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

sumber asli


3

Pratinjau tentu saja merupakan solusi yang baik untuk pengubahan ukuran sesekali. Ada juga opsi gratis bagus lainnya, seperti ImageMagic (utilitas baris perintah), Pratinjau atau lainnya plus Automator, dll.

Namun, jika ini adalah bagian dari pekerjaan Anda dan Anda membutuhkan fleksibilitas yang sebenarnya, aplikasi tujuan khusus akan menghemat banyak waktu, dan menawarkan lebih banyak peluang. Banyak pengguna memilih pengubah ukuran gambar kami, Resize Sense ( http://veprit.com/resizesense ) karena fleksibilitas dan kenyamanannya yang luar biasa.

Penafian: Saya adalah pengembang. Anda lebih baik menilai sendiri Resize Sense. Video pengantar di situs web produk akan memberi tahu Anda apa yang istimewa di Resize Sense. Ada versi demo gratis.



1

Saya biasanya mengimpor semua gambar ke iPhoto dan kemudian mengekspornya ke berbagai ukuran. Saya telah melakukannya dalam batch 300 atau lebih gambar, tetapi tidak pernah pada skala yang Anda inginkan. Meski begitu, ini bisa menjadi pilihan.


1

Tidak ada yang menyebutkan Aperture Apple.

Meskipun tidak berarti yang termurah, ia datang dengan banyak hal lain yang mungkin berguna bagi Anda. Ini pada dasarnya menggantikan iPhoto dan kemudian beberapa. Itu 95% dari apa yang fotografer gunakan untuk Photoshop. (Tidak akan melakukan teks yang menyala. :-)

Tetapi kecuali Anda membutuhkan hal lain yang diberikan Aperture, saya kedua pendekatan ImageMagick - jika Anda tidak terintimidasi dengan mengunduh, menginstal, dan menjalankan program command-line, dan pendekatan Automator, yang terlepas dari klaim @ markhunte, gratis .


-1

Saya menggunakan anggur (dan XQuartz ) dan IrfanView . Tentu saja Anda juga bisa menggunakan imagemagick dari command-line. Untuk anggur dan imagemagick, saya akan merekomendasikan Homebrew .

irfanview dalam anggur pada OS X


Saya telah menggunakan Irfanview selama lebih dari 10 tahun di PC dan menyukainya. Tetapi mereka tidak memiliki versi Mac?
uwe

1
Saya menduga mereka berarti mereka menjalankan IrFranView di bawah anggur. Wine memungkinkan Anda menjalankan perangkat lunak Windows di sistem operasi lain. Dengan Wine, Anda dapat menginstal dan menjalankan aplikasi ini seperti yang Anda lakukan pada Windows. Tangkapan layar dengan jelas menunjukkan jendela tipe Mac (tombol di atas) dengan PC Window GUI
markhunte

5
Menggunakan Wine dengan aplikasi Windows benar-benar berlebihan untuk sesuatu yang dapat Anda lakukan secara asli.
Matteo
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.