Bagaimana cara memotong batas / spasi putih dari gambar?

52

Saya memiliki banyak gambar yang memiliki batas putih di sekitarnya. Saya ingin memotong perbatasan itu sekaligus, lebih disukai dari baris perintah. Saya percaya itu bisa dilakukan dengan ImageMagick, tetapi saya tidak dapat menemukan perintah yang sesuai.

Saya tahu bahwa hal itu dapat dilakukan dengan program Windows bernama Irfanview dengan opsi "Perbatasan tanaman otomatis", tetapi saya mencari solusi berbasis baris Ubuntu dan lebih disukai perintah.

Rafal
sumber
Sudahkah Anda mencoba Gimp?
Mitch
1
@Mitch Tidak, saya tidak tahu bahwa Gimp memiliki mode batch. Bagaimanapun, menggunakan ImageMagick Trim lebih sederhana, jadi saya akan tetap dengan solusi itu.
Rafal
Penipu umumnya menyarankan solusi GUI ...
Wilf

Jawaban:

65

ImageMagick Potong

Opsi baris perintah yang trimdigunakan bersama-sama dengan convert, atau mogrifymemungkinkan Anda memotong batas warna yang identik sebagai sudut gambar.

Pemakaian:

convert input.png -trim output.png

Opsi tambahan -fuzzjuga menghilangkan warna di dekat warna sudut. Gunakan opsi +repageuntuk menghapus kanvas (jika ada).

ImageMagick Batch Trim (temukan)

Perintah di atas untuk ImageMagick Trim juga dapat digunakan untuk memproses gambar sekaligus digabungkan dengan findperintah:

find ./ -name "pattern" -exec convert {} -trim outputfolder/{} \;

akan memangkas semua gambar yang sesuai dengan patternbagian perintah dan menyimpannya di folder baru bernama outputfolder.

Dengan asumsi bahwa gambar adalah PNG, maka perintah akan terlihat seperti ini:

find ./ -name "*.png" -exec convert {} -trim outputfolder/{} \;

ImageMagick Batch Trim (mogrify)

Meskipun findmemungkinkan untuk kontrol yang lebih besar di mana file output akan ditempatkan, juga dimungkinkan untuk melakukan hal yang sama dengan ImageMagick mogrify:

mogrify -trim *.png

Harap dicatat bahwa tidak seperti convertdan operasi batch dengan finddan convert mogrify menimpa semua file . Yang terbaik adalah melakukan salinan cadangan dari semua gambar dalam direktori sebelum melanjutkan dengan perintah mogrify.

Catatan: mogrifydapat digunakan untuk menjalankan sebagian besar (jika tidak semua) convertoperasi dalam batch, sambil menimpa file asli.

IrfanView

IrfanView berjalan cukup baik dengan Wine . Pastikan untuk memeriksa output Irfanview dengan hati-hati, karena terkadang memecah gambar saat digunakan dengan Wine.

Takkat
sumber
Berhasil. Terima kasih banyak. Saya telah menambahkan informasi tentang pemrosesan batch gambar dengan ImageMagick ketika menggabungkan findperintah karena tidak ada jawaban Anda.
Rafal
9
Saya dulu mogrify -trim *.jpgmemotong semua gambar di folder saat ini.
Buttle Butkus
1
Ini bagus. Ini menghemat banyak waktu saya. TX :)
antmw1361
@ButtleButkus Saya mengedit jawaban untuk memasukkan informasi itu. Untuk beberapa alasan saya lupa tentang opsi ini sebelumnya.
Rafal
1
apakah ada cara untuk memotong gambar png sepanjang tingginya, menjaga lebar tetap?
ddas