SORU
27 ŞUBAT 2011, Pazar


“Diff” bir görüntü ImageMagick kullanarak

Nasıl iki resim arasındaki farkı alabilir miyim? Orijinal resim var. Birisi tam bir orijinal resmin kopyasını yazmış. Şimdi, resim üzerine yazılmış orijinal karşılaştırın ve resim formatında sadece yazı çıkartmam lazım.

Örnek: Bir Ev resmi var. Birisi bir kopyasını aldı ve yazdı “Merhaba!” kopyala. Bir şekilde bu iki resmi karşılaştırın, evden çıkarın, ve kelimelerin bir görüntü ile yalnız kalmak istiyorum “Merhaba!”.

Bu mümkün ImageMagick ile mi? Resimler arasında istatistiksel fark elde etmek için yolu vardır biliyorum, ama bu aradığım şey değil.

CEVAP
6 Temmuz 2012, Cuma


Benim Favorilerim bu iki:

 compare image1 image2 -compose src diff.png
 compare image1 image2 -compose src diff.pdf

2 yukarıdaki komutları arasındaki tek fark: birincisi PNG dosyası olarak iki resim arasındaki görsel farkı gösterir, bir PDF olarak ikincisi.

Sonuç diff görüntüler kırmızı rengi farklı olan her piksel dosya. Değişmeden olanlar beyaz görünür.

Kısa ve tatlı.

Not, görüntüleri lazımdeğilaynı tip. Hatta JPEG karıştırabilirsiniz, TIFF, PNG -- bir şartla: resimler aynı boyutta (piksel görüntü boyutu) olmalıdır. Çıkış biçimi çıkış dosya adı uzantısı tarafından belirlenir.

Nedense, varsayılan daha yüksek bir çözünürlük (72 dpi) - o zaman sadece -density uygun bir parametre eklemek gerekir: gerekir

 compare -density 300 image1 image2 -compose src diff.jpeg

Resimli örnekler

İşte yukarıdaki komut varyasyonları için sonuçları birkaç örnek.Not: iki dosya olmasına görePDF dosyalarıyani bu da (1-çağrı cihazları oldukları sürece) ile çalışıyor!


Sol:Metin ile görüntüMerkezi:Orijinal resimDoğru:Farklar (=metin) kırmızı piksel olarak. Red difference pixels only; identical pixels are white

compare \
        porsche-with-scratch.pdf  porsche-original.pdf \
       -compose src \
        diff-compose-default.pdf

Bu daha önce yukarıda önerilen aynı komut.


Sol:Metin ile görüntüMerkezi:Orijinal resimDoğru:'Blue' piksel.farklılıklar Seagreen difference pixels only; identical pixels are white

compare \
        porsche-with-scratch.pdf  porsche-original.pdf \
       -compose src \
       -highlight-color seagreen \
        diff-compose-default.pdf

Bu komut fark piksel 'Blue' varsayılan kırmızı. yerine yapmak için bir parametre ekler


Sol:Metin ile görüntüMerkezi:Orijinal resimDoğru:Mavi farklar (ama w. bazı içerik arka plan) Blue difference pixels only; first of the compared images as a lightened-up backgroundl

compare \
        porsche-with-scratch.pdf  porsche-original.pdf \
       -highlight-color blue \
        diff-compose-default.pdf

Bu komut -compose src bölümü sonucu bir arka plan hafifletilmiş olarak tutar compare varsayılan davranışı 2 diffed görüntülerin birincisi kaldırır. (Bu sefer parametresi diff piksel mavi olarak görünmesini sağlamak için eklendi.)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ciaran Blumenfeld

    Ciaran Blume

    20 NİSAN 2009
  • gsipek

    gsipek

    20 Temmuz 2007
  • LinusTechTips

    LinusTechTip

    25 Kasım 2008