EXIF verilerine bağlı olmadan görüntünün ölçeklendirilmesi ve döndürülmesi?


10

Linux için basit bir görüntü düzenleyici olarak ölçekleme ve döndürme için EXIF ​​verilerini kullanmadan görüntüyü ölçeklendirmeye ve döndürmeye izin veren bir şey var mı?

Şimdiye kadar denedim var EOG , Shotwell ve GIMP ve ben görüntüleri döndürmek, onlar EXIF başlığında saklayın. Bunu istemiyorum.

GIMP bunu yapabilse bile, JPEG dosyalarıyla uğraşırken tonlarca fare tıklaması gerektirdiğinden çok zaman alıcıdır.


2
Temel olarak, bir görüntüyü 90 derece sola döndürürseniz, görüntünün kendisinin verilerde 90 derece sola döndürülmesini mi istiyorsunuz? EXIF verilerinde saklanan bilgiler yoluyla değil, doğru mu?
JakeGould

Kesinlikle. Github README.md dosyaları EXIF ​​anlamıyor çünkü buna ihtiyacım var.
Jasmine Lognnes

Bingo! Daha kapsamlı bir yanıt gönderdim, ancak karşılaştığınız sorunun, bir görüntüyü modern bir görüntü düzenleme programına kaydetmeyle görüntüyü dışa aktarma arasındaki temel fark olduğuna inanıyorum . Cevabım daha ayrıntılı olacak, ancak bir JPEG'i GIMP aracılığıyla dışa aktarırsanız, ölçekleme ve döndürme gibi dönüşümler için EXIF ​​verileriyle uğraşmak zorunda kalmadan istediğiniz kesin sonuçları elde edeceğinize inanıyorum.
JakeGould

Bir exif elimden jpeg üzerinde GIMP dışa aktarma kullanarak yeni bir ekledi.
Jasmine Lognnes

Evet, yeni EXIF ​​verileri eklenmiş olabilir, ancak asıl resim verileri sorunuzun yönüne uyacak şekilde değiştirildi mi?
JakeGould

Yanıtlar:


15

Linux için basit bir görüntü düzenleyici olarak ölçekleme ve döndürme için EXIF ​​verilerini kullanmadan görüntüyü ölçeklendirmeye ve döndürmeye izin veren bir şey var mı?

Dışa Aktarmaya Karşı Kaydetme

Bunu GIMP'de gerçekten yapmak istemediğinizi belirttiğinizi biliyorum, ancak benim deneyimime göre, karşılaştığınız sorun — görüntüdeki pikselleri gerçekten dönüştürmek için EXIF ​​yönlendirme verilerini tercih eden yazılım - bir görüntüyü dışa aktarma ve bir görüntüyü kaydetme .

Geçmişte, dünyadaki tüm görüntü editörlerinin% 100'ü, basit yönelim dönüşümleriyle uğraşırken aslında pikselleri dönüştürür / değiştirirdi. Görüntü düzenleme programlarının, bazı fiziksel dönüşüm verilerini depolamak için EXIF ​​verilerini kullanmayı ertelemesi nispeten yakın zamanda gerçekleşmiştir.

Neden? Kolay. JPEG formatı kayıplı bir format olduğundan - kalite% 100 olarak ayarlanmış olsa bile - görüntü döndürme gibi basit şeyler için JPEG kaydetmek, verileri yavaşça bozar. Bunun aksine, verileri EXIF ​​bilgisi olarak saklamakla, ham JPEG görüntüsüne dokunulmaz, ancak dönüştürme verileri aktarılır, böylece görüntü işlemdeki görüntüyü bozmadan döndürülmüş olarak görebilirsiniz.

Burada ihracat kavramı devreye giriyor. GIMP gibi birçok görüntü düzenleme programı , bir görüntüyü dışa aktarmaya izin verir, bu da temel olarak görüntü verisinin kendisini değiştirmek ve görüntü olmayan düzenleme yazılımında kullanmak için optimize etmek anlamına gelir.

Bu nedenle, orada döndürme gibi görevler için görüntü verilerini açıkça değiştiren başka yazılım araçları olsa da, bunları yüklemek ve kullanmak aşırı olabilir. Bunun yerine, kullandığınız görüntü düzenleme yazılımında dışa aktarma işlevini denemenizi tavsiye ederim; GIMP, Photoshop veya başka bir şey olsun.

Toplu İşleme

Tüm bunlar, GIMP'in ihtiyaçlarınız için nasıl çok zaman harcayabileceğinden bahsediyorsunuz. Tam iş akışınızın ne olduğunu net değil, ancak JPEG'lerle dolu bir klasörünüz / dizininiz varsa, işlemeniz gerekebilir , bu diğer yanıtta belirtilen araçları araştırmanızı öneririz :

  • exiftran : Aşağıdakileri yapabilen dijital kamera JPEG görüntülerini dönüştürmek için kullanılan bir araç:

Jpegtran gibi kayıpsız dönüşler yapabilir, ancak jpegtran'ın aksine EXIF ​​verilerini önemsiyor: Exif yönlendirme etiketini kontrol ederek görüntüleri otomatik olarak döndürebilir, gerekirse exif bilgilerini günceller (görüntü boyutu, yönlendirme), ayrıca exif küçük resmini de döndürür . Aynı anda birden fazla görüntüyü işleyebilir.

  • Jhead : Özellikle kullanılarakjheadile-autorotolarak tarif edilir seçeneği:

Exif başlığının 'Yönlendirme' etiketini kullanarak görüntüyü dik olacak şekilde döndürün. Rotasyonu gerçekleştirmek için 'jpegtran' programı kullanılır. Bu program çoğu Linux dağıtımında mevcuttur. Windows için, bir kopyasını almanız gerekir. Döndürme sonrasında, Exif başlığının yönlendirme etiketi '1' olarak ayarlanır (normal yön). Exif küçük resmi de döndürülür. Exif başlığının boyutlar da dahil olmak üzere diğer alanlarına dokunulmaz, ancak JPEG yüksekliği / genişliği ayarlanır.

Bu özellik, özellikle fotoğraf makinesinde yerleşik bir yönlendirme sensörü kullanarak Exif başlığındaki yönlendirme alanını otomatik olarak ayarlayan daha yeni dijital kameralarda kullanışlıdır.

İşte bu diğer evrede bahsedilen başka bir araç :

  • NConvert : NConvert, Win32, Linux, DOS, OS / 2 ve diğer platformlar için çok formatlı komut satırı görüntü dönüştürücüsüdür. Hızlı başlangıç ​​detayları burada gibi görünüyor . Ve kullanırsanız anlaşılmaktadırnconvertile-jpegtransaradığınız tam olarak ne seçeneğiyle. Ama bu sadece aynı kütüphane / çekirdek işlevselliği kullanıyorsa merakjpegtranolarak bu diğer cevabı bu soru üzerine önerir?

Son olarak, ImageMagick convert aracını bu -auto-orientseçenekle kullanmak sizin için işe yarar mı?

-auto-yönlendirmek

görüntüyü, yönü görüntüleme için uygun olacak şekilde ayarlar (yani sol üst yön).

Bu operatör EXIF ​​görüntü profili ayarı 'Yön' ayarını okur ve sıfırlar ve ardından doğru görüntüleme için görüntüyü yönlendirmek üzere görüntü üzerinde uygun 90 derecelik dönüşü gerçekleştirir.

Bu EXIF ​​profil ayarı genellikle dijital kameradaki bir yerçekimi sensörü kullanılarak yapılır, ancak doğrudan aşağı veya yukarı çekilen fotoğrafların uygun bir değeri olmayabilir. Ayrıca, bu ayarı sıfırlamadan yönü 'düzeltilmiş' olan resimler de tekrar düzeltilebilir ve sonuç yanlış olabilir. EXIF profili daha önce çıkarılmışsa, -auto-orient operatörü hiçbir şey yapmaz.


Bir komut satırı aracının EXIF'e dayalı gerçek piksel döndürmesini yapması ve daha sonra EXIF ​​bilgisini temizlemesi mükemmel olurdu. Mümkün mü?
Jasmine Lognnes

1
@JasmineLognnes Bu araçlardan hiçbirini kendim kullanmadım - ancak bu soru araştırmam gereken araçlar için iyi bir referanstır - ama bana öyle geliyor exiftranve jpegtranaradığınız şey olabilir. Bu araçların her ikisinin de sahip olduğu seçenekleri denerdim ve neler olduğunu görürüm. Yapabileceğim en iyi şey. İyi şanslar!
JakeGould

1
Sistemin bu cevabı LQ Post inceleme kuyruğunda bir denetim testi olarak seçmesinin mizahi olduğunu görebilirsiniz. BTW'yi silmemeye oy verdim ve görünüşe göre bu doğru cevaptı. :-)
fixer1234

@ fixer1234 Evet, daha önce düşük kaliteli yazıları kontrol ettiğimde kendimi gördüm. Neşeli! Benim tavsiye edilen farklı paketlere çeşitli bağlantıların miktarı tarafından tetiklenmiş olabilir. Ama hey! En azından bir insan filtreleme bileşenine sahip bazı otomatik polislik mekanizmaları olduğu için mutluyum.
JakeGould

2

Genellikle jpegtranfotoğrafları döndürmek için kullanıyorum :

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

90 sağa döner, sola 270 (flip için 180) kullanın.


2

GIMP'de dışa aktarırken EXIF ​​ve XMP'yi devre dışı bırakabileceğiniz yeri kaydetmeden hemen önce açılır pencerede Gelişmiş'i tıklayabilirsiniz.

Komut dosyası oluşturmak için genel algoritma:

  1. Her dosya için.
  2. Değerinden değeri kaydedin exiftool * | grep Orientation.
  3. Exif ile çıkarın exiftran -ai *.
  4. convert -rotateAdım 2'deki değerle kullanın .

Tam da aradığım şey buydu. Görüntünün döndürülüp döndürülmediğini algılayan bir yol ve ardından buna göre döndürmenin bir yolu. Teşekkürler!
xarlymg89

0

Exiftool'u JPEG görüntülerden EXIF ​​verilerini kaldırmak için kullanabilirsiniz . Ardından görüntüyü herhangi bir şeyle ( dönüştürme gibi ) döndürebilirsiniz .


Evet, bunun için harika, ancak görüntüleri daha sonra düzenlediğimde, yeni EXIF ​​başlıkları ekleniyor.
Jasmine Lognnes

1
EXIFTool verileri kaldırabilir, ancak verileri değiştirmez, döndürmez veya ölçeklendirmez. Sadece verileri siler ve JPEG daha sonra içinde bulunduğu ham formatta görüntülenir. Bu, bazı durumlarda yararlıdır, ancak böyle bir durumda değil.
JakeGould
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.