Görüntüleri bir formattan diğerine toplu dönüştürme?


44

Jpg'den png biçimine yaklaşık 100 adet resim toplu dönüştürmek istiyorum. Bunu, isimleri değiştirmeden nasıl yapabilirim ama bunun yerine formatı değiştirebilirim.


convertKomutu kullan . Hayır, gerçekten. Fakat onları birşey.jpg den bir şey.png olarak yeniden adlandırmak isteyeceksiniz.
Jos

1
@jos, Yorumunuzdan ne yapmam gerektiğini bilmiyorum !!
opu 웃

Düzenlemeyi bitirmedim ;-) İlk önce, converttek bir .jpg dosyasındaki komutu kullanın ve çalışıp çalışmadığını görün. Ardından, .jpg dosyalarının üstüne geçen ve onları .png dosyalarına dönüştüren bir komut dosyası yazın.
Jos

convertKomutu tek bir .jpg dosyasında nasıl kullanabilirim bahsetmediniz . Ve ben .jpg dosyaları üzerinde döngü bir komut dosyası nasıl yazacağımı bilmiyorum.
opu 웃

Yanıtlar:


63

Bu komutları dene.

mogrify -format png /path/*.jpg    

Bu, tüm .jpg dosyalarını .png dosyalarına dönüştürür ve dönüştürülen dosyaları aynı dizine kaydeder.

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

Bu, tüm .pngdosyaları (dönüştürülmüş) picMasaüstünde bulunan dizine taşır .


Dizini değiştirmeli miyim?
opu 웃

1
/path/*.jpg.jpg dosyalarının depolandığı dizini gösterir.
Avinash Raj

Bu komutu dizini değiştirdikten sonra da denedim: mogrify -format png .jpgBu da iyi çalışıyor.
opu 웃

Aşağıdaki cevap , ARGV'ye verilen limitleri dikkate aldığından daha iyidir.
Evan Carroll,

Burada harika bir rehber var: algissalys.com/how-to/… Aynı zamanda yararlı olan görüntünün boyutunu değiştirmeyi de kapsar. -resize 800x, 800'e en uzun tarafı değiştirdi :)
Craig Lambie,

41

ImageMagick'i kullanma .

İlk önce imagemagick'i yükleyin:

sudo apt-get install imagemagick

İlk başta yalnızca bir resmi dönüştürmeyi deneyin:

convert image.jpg image.png

Şimdi hepsini dönüştür:

mogrify -format png *.jpg

DÜZENLE

Ayrıca bir komut satırına ne kadar koyabileceğinizi sınırlamaktan kaçınmak için uygun parçalara bölmeniz gerekir. Bu daha iyi çalışması gerekir:

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

-print0Ve -0Dosya adlarında sap boşluk için kullanılır ve -ryapacak bir şey olmadığını araçlar mogrify çalışmaz.

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

EDIT 2 @ Glutanimate adlı kullanıcının yorumuna göre png ve jpg anahtarlamalı.

EDIT 3 Son öneride png'den jpg'ye değiştirildi.


Bir resim başarıyla dönüştürüldü. Ama bütün gösterilerini dönüştürmek için komut kullandığımda 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 웃

Önce cdbu dizine ihtiyacınız olacak . Eğer masaüstündeyse cd ~/Desktopilk çalıştırıp tekrar dönüştürmeyi deneyin.
Parto

Dizini değiştirdim
opu 웃

@Parto olması gerektiğini düşünüyorum mogrify -format png *.jpg. OP, jpg → png'nin dönüştürülmesini istiyor.
Glutanimate

benim için işe yaramadı 14.04 @Parto
talha06

0

Bu sorunun konulmasından bu yana uzun zaman geçtiğini biliyorum ama çok fazla kullandığımdan bahsetmediğim mükemmel bir yazılım var.

http://photobatch.wikidot.com/ , Phatch olarak da bilinir. Kelimenin tam anlamıyla, herhangi bir şeyi bir şeyden başka bir şeye, görüntü terimleriyle dönüştürür. Bir süredir güncellenmemişti, ancak şimdi ubuntu 17.10 için yayınlandığını iddia ediyor. Bir şans ver. Bundan çok mutlu olacağınıza eminim.


2
Bu yazılımı almaya çalıştım, yukarıdaki dosyadan deb dosyasına "indir" bağlantısı eksik ve Ubuntu "mağaza" sürümü bana bu hatayı verdi: Paket yöneticisinden gelen ayrıntılı hatalar takip edildi: apt işlemi döndürüldü. 18.10 belki? Neyse - benim deneyimim.
Craig Lambie,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.