GNU/Linux >> Belajar Linux >  >> Linux

Bandingkan dua gambar dengan cara python/linux

Dari sini

Cara tercepat untuk menentukan apakah dua gambar memiliki konten yang persis sama adalah dengan mendapatkan selisih antara kedua gambar tersebut, lalu menghitung kotak pembatas dari wilayah bukan nol pada gambar ini.

Jika gambarnya identik, semua piksel dalam gambar yang berbeda adalah nol, dan fungsi kotak pembatas mengembalikan Tidak Ada.

from PIL import ImageChops


def equal(im1, im2):
    return ImageChops.difference(im1, im2).getbbox() is None

Ada proyek OSS yang menggunakan WebDriver untuk mengambil tangkapan layar dan kemudian membandingkan gambar untuk melihat apakah ada masalah (http://code.google.com/p/fighting-layout-bugs/)). Itu dilakukan dengan membuka file ke dalam aliran dan kemudian membandingkan setiap bit.

Anda mungkin dapat melakukan hal serupa dengan PIL.

EDIT:

Setelah penelitian lebih lanjut saya menemukan

h1 = Image.open("image1").histogram()
h2 = Image.open("image2").histogram()

rms = math.sqrt(reduce(operator.add,
    map(lambda a,b: (a-b)**2, h1, h2))/len(h1))

di http://snipplr.com/view/757/compare-two-pil-images-in-python/ dan http://effbot.org/zone/pil-comparing-images.htm


Linux
  1. Cara Terbaik Untuk Menerapkan Dukungan Hotkeys Di Linux?

  2. Ny Cara Mengetahui Ukuran Cache L1, L2, L3 Dan Ram Di Linux?

  3. Apa cara termudah untuk mendeteksi penekanan tombol di python 3 di mesin linux?

  1. Instalasi PIP alat pengemasan Python di RHEL 7 Linux

  2. Cara Meningkatkan ke Linux Mint 20.3:Cara yang Benar

  3. Cara tercepat untuk mengetahui apakah dua file memiliki konten yang sama di Unix/Linux?

  1. Dua versi python di linux. bagaimana menjadikan 2.7 sebagai default

  2. Apa cara tercepat untuk menggabungkan dua atau lebih file di Linux?

  3. Apa cara tercepat untuk memindahkan sejuta gambar dari satu direktori ke direktori lain di Linux?