Batch Memproses gambar tif? Konversi .tif ke .jpeg

41

Saya mencoba mengonversi beberapa .tiffile secara massal . Saya menemukan phatch bisa terlihat seperti kandidat yang baik tetapi saya menjalankan Ubuntu 11.04. Sepertinya mereka tidak punya .debuntuk versi saya.

Siapa pun memiliki alternatif untuk ditampung atau rekomendasi lain untuk dengan cepat mengonversi file tifmenjadi konversi jpeg.

Saya mencari solusi non-Photoshop (ala Wine).

chrisjlee
sumber

Jawaban:

75

Mudah. Pasang imagemagick :

sudo apt-get install imagemagick

Penggunaan paling sederhana adalah:

convert File.tif File.jpg

Itu cerdas dan berjalan dengan ekstensi file Anda.

Sekarang, untuk melakukan konversi batch, kita akan menggunakan loop.

cd ke direktori tempat file tif Anda berada.

kemudian:

for f in *.tif; do  echo "Converting $f"; convert "$f"  "$(basename "$f" .tif).jpg"; done

Baca juga sebagai:

for f in *.tif
do  
    echo "Converting $f" 
    convert "$f"  "$(basename "$f" .tif).jpg" 
done

Itu harus melakukannya!

Juga, setelah Anda mengonversi semua file dan memverifikasi integritas jpg baru, jalankan saja rm *.tifdi direktori itu untuk menghapus semua file .tif lama Anda. Hati-hati dengan tanda bintang, jangan tambahkan spasi setelah *, atau Anda akan menghapus semua file Anda di direktori.

Tip: Jika Anda memiliki folder dengan subfolder yang menampung gambar-gambar ini. Anda bisa menggunakan ini untuk loop untuk menemukan semua file .TIF dalam folder itu:

for f in $(find -name *.tif); do ...; done
Mat
sumber
Apakah ini seharusnya dicetak Converting filename.tifatau Converting filename?
sodiumnitrate
1
@sodiumnitrate akan bertuliskan "Converting filename.tif". yang basenameperintah mengambil 2 argumen, misalnya basename file.tif .tifakan kembali "file" stripping ekstensi tif pergi. Anda dapat memodifikasi loop untuk mengatakan "Konversi nama file.tif ke nama file.jpg" dengan perintah nama file yang sama, jika Anda mau.
Matt
findArg pertama harus menjadi path, sehingga baris terakhir seharusnya for f in $(find . -name *.tif); do ...; done(karena kita cded dalam direktori sebelumnya). Saya mencoba mengedit jawaban @ Matt tetapi pengeditan harus setidaknya 6 karakter untuk beberapa alasan.
mrtnmgs
Terima kasih ..................................... bekerja
balaji
22

Saya menemukan pertanyaan ini ketika mencoba melakukannya sendiri, untuk referensi di masa mendatang Anda juga dapat melakukannya seperti ini:

convert *.tiff -set filename: "%t" %[filename:].jpg

atau untuk meletakkannya di subdirektori

mkdir jpg
convert *.tiff -set filename: "%t" jpg/%[filename:].jpg
Robert Bak
sumber
1
Yay untuk penanganan nama file bawaan.
beerbajay
Ini bekerja sangat baik untuk saya dengan file png juga. Namun, perilaku untuk pdf berbeda.
wdkrnls
Saya ingin melihat ini berfungsi, namun, ini melaporkan Bus Error pada ImageMagick 6.6.9-7 2014-03-06 Q16 (OpenMP) di Ubuntu 64. Jawaban yang diterima berfungsi dengan baik.
TFuto
Satu kata peringatan: Ini membekukan bagi saya seluruh sistem (GNOME 3) dan saya harus mematikan komputer dengan
susah payah
2

Imagemagick harus dapat mengonversinya. Ini adalah paket program commandline, jika Anda setuju dengan itu.

Bagian dari yang dikonversi -

orang yang insaf:

convert - convert antara format gambar serta mengubah ukuran gambar, blur, potong, hapus centang, gentar, menggambar, membalik, bergabung, sampel ulang, dan banyak lagi.

marto
sumber
1
Jawaban Matt sebenarnya jauh lebih bermanfaat
marto
1
Ya. Anda di sana.
chrisjlee
1

Jika Anda lebih suka aplikasi GUI, Anda dapat menginstal Phatch melalui repositori normal. Cukup buka Pusat Perangkat Lunak Ubuntu dan cari. Saya tidak menggunakan 11,04 lagi tetapi saya sudah menginstalnya saat itu.

Melakukan
sumber
1

Jawaban di atas digunakan *.tifuntuk pemilihan tif, tetapi ini akan mengembalikan kesalahan jika Anda memiliki terlalu banyak file di direktori kerja Anda saat ini. Solusi sederhana adalah dengan menggunakan skrip python untuk mengonversi setiap file di cwd:

import glob, os

for c, i in enumerate(glob.glob('ecco_images/*')):
  print(' * converting', i)
  os.system('convert ' + i + ' ' + i.replace('.TIF','.jpg'))
duhaime
sumber
for f in *.tiftidak akan kesalahan, tetapi convert *.tifakan.
muru
Ah, terima kasih @muru! Saya pikir ekspansi * akan sama di level os, tapi saya senang bisa dikoreksi.
duhaime
0

Saya ingin menambahkan jawaban @ Matt bahwa jika Anda ingin file disimpan dalam subfolder, Anda dapat melakukan hal berikut:

find -name *.tif | while read f; do echo "Converting $f"; convert "$f"  "${f%.*}".jpg; done

Ini juga menangani masalah jika file-path / nama Anda memiliki spasi di dalamnya

JTIM
sumber
0

Solusi GIMP GUI Menggunakan Plugin Batch Process

Bekerja di Ubuntu 18.04 menggunakan GIMP 2.8


Jendela Dialog Input Prosesor Batch

Jendela Dialog Input Proses Batch


Jendela Dialog Output Prosesor Batch

Jendela Dialog Output Prosesor Batch


instruksi instalasi

1 - Unduh file plugin saat ini dari DBP - beranda Batch Processor David ke desktop Anda. Untuk Ubuntu 18.04, menghancurkan Gimp 2.8 file yang berfungsi untuk saya adalah dbpSrc-1-1-9.tgz .

2 - Ambil beberapa file pengembangan GIMP:

sudo apt-get install libgimp2.0-dev gcc cpp g++

3 - Beralih ke direktori kode sumber sistem:

cd /usr/src/

4 - Ekstrak plugin dari Desktop Anda ke direktori kode sumbernya sendiri. Ganti [nama pengguna] dengan nama pengguna Anda saat ini, dan gunakan nama file yang Anda unduh di atas dalam langkah 1:

sudo tar -xvzf /home/[username]/Desktop/dbpSrc-1-1-9.tgz

5 - Ubah ke direktori kode sumber plugin:

cd dbp-1.1.9

6 - Kompilasi plugin:

sudo make

7 - Instal plugin:

sudo make install

8 - Mulai GIMP dan Anda akan menemukan plugin di bawah Menu-> Filter-> Batch Process ..

Proses Batch GIMP .. Jalur Menu

SunnyDaze
sumber