Mengonversi gambar secara massal dari satu format ke format lainnya?

44

Saya ingin mengonversi kumpulan gambar, hampir 100, dari format jpg ke png. Bagaimana saya bisa melakukan ini tanpa mengganti nama mereka, tetapi sebenarnya mengubah format?

opu 웃
sumber
Gunakan convertperintah. Tidak benar-benar. Tetapi Anda ingin mengubah nama mereka dari something.jpg ke something.png.
Jos
1
@ jo, Dari komentar Anda, saya tidak mengerti apa yang harus saya lakukan !!
opu 웃
Saya belum selesai mengedit ;-) Pertama, gunakan convertperintah pada satu file .jpg dan lihat apakah itu berfungsi. Kemudian, tulis skrip yang memotong file .jpg dan mengonversinya menjadi file .png.
Jos
Anda tidak menyebutkan bagaimana saya bisa menggunakan convertperintah pada satu file .jpg. Dan saya tidak tahu cara menulis skrip yang mengulang file .jpg.
opu 웃

Jawaban:

65

Coba perintah ini,

mogrify -format png /path/*.jpg    

Ini akan mengonversi semua file .jpg menjadi file .png dan menyimpan file yang dikonversi di direktori yang sama.

mv /path/*.png ~/Desktop/pic

Ini akan memindahkan semua .pngfile (dikonversi) ke picdirektori yang berada di Desktop.

Avinash Raj
sumber
Haruskah saya mengubah direktori?
opu 웃
1
/path/*.jpgmewakili direktori tempat file .jpg disimpan.
Avinash Raj
Saya juga mencoba perintah ini setelah mengubah direktori: mogrify -format png .jpgIni juga berfungsi dengan baik.
opu 웃
Jawaban di bawah ini lebih baik , karena memperhitungkan batas yang diberikan pada ARGV.
Evan Carroll
Ada panduan hebat di sini: algissalys.com/how-to/… Juga mencakup mengubah ukuran gambar, yang berguna yaitu. menambahkan -resize 800x perubahan sisi terpanjang 800 :)
Craig Lambie
42

Menggunakan ImageMagick .

Pertama instal imagemagick:

sudo apt-get install imagemagick

Coba konversi hanya satu gambar pada awalnya:

convert image.jpg image.png

Sekarang konversi semua:

mogrify -format png *.jpg

SUNTING

Anda juga perlu membaginya menjadi potongan-potongan yang cocok untuk menghindari memukul batas berapa banyak Anda dapat menempatkan pada baris perintah. Ini harus bekerja lebih baik:

find -name '*.jpg' -print0 | xargs -0 -r mogrify -format png

Itu -print0dan -0digunakan untuk menangani spasi dalam nama file dan -rcara tidak menjalankan mogrif jika tidak ada yang bisa dilakukan.

Sumber: https://stackoverflow.com/questions/1010261/running-a-batch-with-imagemagick

EDIT 2 Beralih png dan jpg sesuai komentar @ Glutanimate.

EDIT 3 Mengubah png ke jpg di saran terakhir.

Parto
sumber
Satu gambar berhasil dikonversi. Tetapi ketika saya menggunakan perintah untuk mengubah semua tampilannya mogrify.im6: unable to open image ``*.png': No such file or directory @ error/blob.c/OpenBlob/2638.``mogrify.im6: unable to open file ``*.png' @ error/png.c/ReadPNGImage/3667.
opu 웃
Anda harus ke cddirektori itu terlebih dahulu. Jika ada di desktop, jalankan cd ~/Desktopterlebih dahulu lalu coba konversi lagi.
Parto
Saya mengubah direktori
opu 웃
@ Parto saya pikir seharusnya begitu mogrify -format png *.jpg. OP bertanya tentang mengkonversi jpg → png.
Glutanimate
tidak bekerja untuk saya dengan 14,04 @Parto
talha06
0

Saya tahu sudah lama sejak pertanyaan ini diajukan tetapi ada satu perangkat lunak yang cemerlang yang belum disebutkan bahwa saya telah banyak menggunakan.

http://photobatch.wikidot.com/ juga dikenal sebagai Phatch. Secara harfiah mengubah apa pun dari apa pun menjadi apa pun dalam istilah gambar. Itu belum diperbarui untuk sementara waktu tetapi sekarang mengklaim akan dirilis untuk ubuntu 17.10. Cobalah. Saya yakin Anda akan sangat senang dengan itu.

George Tasker
sumber
2
Mencoba mendapatkan perangkat lunak ini, tautan "unduh" ke file deb hilang dari tautan di atas, dan versi "toko" Ubuntu memberi saya kesalahan ini: Kesalahan terperinci dari pengelola paket mengikuti: apt transaksi dikembalikan hasil keluar-gagal Ubuntu v 18.10 mungkin? Pokoknya - pengalaman saya.
Craig Lambie