Penskalaan dan rotasi gambar tanpa bergantung pada data EXIF?

10

Adakah editor gambar sederhana untuk Linux yang memungkinkan untuk menskala dan memutar gambar tanpa menggunakan data EXIF ​​untuk penskalaan dan rotasi?

Sejauh ini saya sudah mencoba EOG , Shotwell , dan GIMP dan ketika saya memutar gambar, mereka menyimpannya di header EXIF. Saya tidak mau ini.

Sekalipun GIMP dapat melakukannya, ini terlalu memakan waktu karena membutuhkan banyak klik mouse ketika berurusan dengan file JPEG.

Jasmine Lognnes
sumber
2
Jadi pada dasarnya, jika Anda memutar gambar 90 derajat ke kiri Anda ingin gambar itu sendiri diputar dalam data 90 derajat ke kiri? Tidak melalui info yang disimpan dalam data EXIF, benar?
JakeGould
Persis. Saya memerlukannya karena file Github README.md tidak mengerti EXIF.
Jasmine Lognnes
Bingo! Saya mengirim jawaban yang lebih lengkap, tetapi saya percaya masalah yang Anda hadapi adalah perbedaan mendasar antara menyimpan gambar dalam program pengeditan gambar modern versus mengekspor gambar. Jawaban saya lebih rinci, tetapi saya percaya jika Anda mengekspor JPEG melalui GIMP, Anda akan mendapatkan hasil yang tepat yang Anda inginkan tanpa harus berurusan dengan data EXIF ​​yang disukai untuk transformasi seperti penskalaan dan rotasi.
JakeGould
Menggunakan ekspor GIMP pada exp striped jpeg menambahkan yang baru.
Jasmine Lognnes
Ya, itu mungkin telah menambahkan data EXIF ​​baru, tetapi apakah data gambar aktual diubah agar sesuai dengan orientasi ketika pertanyaan Anda diajukan?
JakeGould

Jawaban:

15

Adakah editor gambar sederhana untuk Linux yang memungkinkan untuk menskala dan memutar gambar tanpa menggunakan data EXIF ​​untuk penskalaan dan rotasi?

Menyimpan vs. Ekspor

Saya tahu Anda menyatakan Anda tidak benar-benar ingin melakukan ini di GIMP, tetapi dalam pengalaman saya, masalah yang Anda hadapi — perangkat lunak yang mendukung data orientasi EXIF ​​alih-alih mengubah piksel dalam gambar — bermuara pada perbedaan antara mengekspor gambar dan menyimpan gambar.

Di masa lalu, 100% semua editor gambar di dunia akan benar-benar mengubah / memodifikasi piksel ketika berhadapan dengan transformasi orientasi sederhana. Baru-baru ini relatif bahwa program pengeditan gambar menunda untuk menggunakan data EXIF ​​untuk menyimpan beberapa data transformasi fisik.

Mengapa? Mudah. Karena format JPEG adalah format lossy — bahkan ketika kualitasnya diatur pada 100% —menyimpan JPEG untuk hal-hal sederhana seperti rotasi gambar akan perlahan menurunkan data. Sebaliknya dengan menyimpan data itu sebagai info EXIF, gambar JPEG mentah tidak tersentuh tetapi data transformasi diteruskan sehingga Anda dapat melihat gambar diputar tanpa menurunkan gambar dalam proses.

Di sinilah konsep ekspor berperan. Banyak program pengeditan gambar seperti GIMP memungkinkan seseorang untuk mengekspor gambar yang pada dasarnya berarti memodifikasi data gambar itu sendiri dan mengoptimalkannya untuk digunakan dalam perangkat lunak pengeditan gambar.

Jadi, sementara mungkin ada alat perangkat lunak lain yang secara eksplisit memodifikasi data gambar untuk tugas-tugas seperti rotasi di luar sana, itu mungkin terlalu banyak untuk menginstal dan menggunakannya. Sebagai gantinya, saya akan merekomendasikan hanya bereksperimen dengan fungsionalitas ekspor dalam perangkat lunak pengedit gambar apa pun yang Anda gunakan; apakah itu GIMP, Photoshop atau yang lainnya.

Pemrosesan Batch

Semua yang dikatakan, Anda menyebutkan bagaimana GIMP mungkin terlalu memakan waktu untuk kebutuhan Anda. Tidak jelas apa alur kerja sebenarnya Anda, tetapi jika Anda memiliki folder / direktori yang diisi dengan JPEG yang mungkin perlu Anda proses, saya akan merekomendasikan menyelidiki alat yang disebutkan dalam jawaban lain ini :

  • exiftran : Alat yang digunakan untuk mengubah gambar JPEG kamera digital yang dapat melakukan hal berikut:

Itu dapat melakukan rotasi lossless seperti jpegtran, tetapi tidak seperti jpegtran ia peduli dengan data EXIF: Ia dapat memutar gambar secara otomatis dengan memeriksa tag orientasi exif, ia memperbarui informasi exif jika diperlukan (dimensi gambar, orientasi), ia juga memutar thumbnail exif . Itu dapat memproses beberapa gambar sekaligus.

  • JHead : Khusus menggunakanjheaddengan-autorotopsi yang digambarkan sebagai:

Dengan menggunakan tag 'Orientasi' pada header Exif, putar gambar sehingga tegak. Program 'jpegtran' digunakan untuk melakukan rotasi. Program ini hadir di sebagian besar distribusi Linux. Untuk windows, Anda perlu mendapatkan salinannya. Setelah rotasi, tag orientasi header Exif diatur ke '1' (orientasi normal). Thumbnail Exif juga diputar. Bidang lain dari header Exif, termasuk dimensi tidak tersentuh, tetapi tinggi / lebar JPEG disesuaikan.

Fitur ini sangat berguna dengan kamera digital baru, yang mengatur bidang orientasi di header Exif secara otomatis menggunakan sensor orientasi bawaan di kamera.

Berikut adalah alat lain yang disebutkan di utas lain ini :

  • NConvert : NConvert adalah konverter gambar commandline multi-format untuk Win32, Linux, DOS, OS / 2, dan platform lainnya. Detail mulai cepat tampaknya ada di sini . Dan tampaknya jika Anda menggunakannconvertdengan-jpegtransopsi itu persis apa yang Anda cari. Tapi saya ingin tahu apakah itu hanya menggunakan fungsi perpustakaan / inti yang samajpegtranseperti yangdirekomendasikan oleh jawaban lain pada pertanyaan ini?

Akhirnya, mungkin menggunakan alat ImageMagick convert dengan -auto-orientopsi itu akan bekerja untuk Anda?

-auto-orient

menyesuaikan gambar sehingga orientasinya cocok untuk dilihat (mis. orientasi kiri atas).

Operator ini membaca dan mereset pengaturan profil gambar EXIF ​​'Orientasi' dan kemudian melakukan rotasi 90 derajat yang sesuai pada gambar untuk mengarahkan gambar, untuk melihat dengan benar.

Pengaturan profil EXIF ​​ini biasanya diatur menggunakan sensor gravitasi di kamera digital, namun foto yang diambil langsung ke bawah atau ke atas mungkin tidak memiliki nilai yang sesuai. Juga gambar yang telah orientasi 'dikoreksi' tanpa mengatur ulang pengaturan ini, mungkin 'diperbaiki' lagi menghasilkan hasil yang salah. Jika profil EXIF ​​sebelumnya dilucuti, operator -auto-orient tidak akan melakukan apa-apa.

JakeGould
sumber
Akan sempurna jika alat commandline dapat melakukan rotasi piksel aktual berdasarkan EXIF ​​dan kemudian menghapus info EXIF ​​sesudahnya. Apakah itu mungkin?
Jasmine Lognnes
1
@JasmineLognnes Saya belum benar-benar menggunakan alat-alat ini sendiri — tetapi pertanyaan ini adalah referensi yang bagus untuk alat yang harus saya selidiki — tetapi menurut saya itu exiftrandan jpegtranmungkin apa yang Anda cari. Saya akan bereksperimen dengan opsi yang dimiliki kedua alat tersebut dan melihat apa yang terjadi. Yang terbaik yang bisa saya lakukan. Semoga berhasil!
JakeGould
1
Anda mungkin merasa lucu bahwa sistem memilih jawaban ini sebagai tes audit dalam antrian ulasan LQ Post. Saya memilih untuk tidak menghapusnya, BTW, dan ternyata, itu jawaban yang tepat. :-)
fixer1234
@ fixer1234 Ya, saya melihat sendiri ketika saya memeriksa posting berkualitas rendah sebelumnya. Lucu sekali! Ini mungkin dipicu oleh jumlah berbagai tautan untuk paket yang berbeda, saya direkomendasikan. Tapi hey! Saya senang ada beberapa mekanisme pemolisian otomatis yang setidaknya memiliki komponen penyaringan manusia.
JakeGould
2

Saya biasanya menggunakan jpegtranuntuk memutar foto:

jpegtran -copy all -rotate 90 -outfile newimg.jpg oldimg.jpg

90 berputar ke kanan, gunakan 270 untuk kiri (dan 180 untuk flip).

choroba
sumber
2

Saat Mengekspor dalam GIMP, Anda dapat mengklik Tingkat Lanjut di sembulan tepat sebelum menyimpan tempat Anda dapat menonaktifkan EXIF ​​dan XMP.

Algoritma keseluruhan untuk skrip itu

  • untuk setiap file
  • simpan nilai dari exiftool * | grep Orientation
  • hapus exif dengan exiftran -ai *
  • gunakan convert -rotatedengan nilai dari langkah 2
d2xdt2
sumber
Inilah yang saya cari. Cara yang mendeteksi jika gambar diputar dan kemudian cara memutarnya berdasarkan itu. Terima kasih!
xarlymg89
0

Anda dapat menggunakan Exiftool untuk menghapus data EXIF ​​dari gambar JPEG.

SPRBRN
sumber
Ya, itu bagus untuk itu, tetapi ketika saya mengedit gambar setelahnya, maka header EXIF ​​baru ditambahkan.
Jasmine Lognnes
EXIFTool dapat menghapus data, tetapi itu tidak akan mengubah, memutar atau skala dan gambar. Itu hanya akan menghapus data itu dan JPEG kemudian akan ditampilkan dalam format mentah apa pun yang semula ada. Ini berguna dalam beberapa kasus, tetapi tidak dalam kasus seperti ini.
JakeGould