GNU/Linux >> Linux の 問題 >  >> Linux

Python/Linux の方法で 2 つの画像を比較する

ここから

<ブロック引用>

2 つの画像の内容がまったく同じかどうかを判断する最も簡単な方法は、2 つの画像の違いを取得してから、この画像の非ゼロ領域の境界ボックスを計算することです。

画像が同一の場合、差分画像のすべてのピクセルはゼロであり、バウンディング ボックス関数は None を返します。

from PIL import ImageChops


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

WebDriver を使用してスクリーン ショットを撮り、画像を比較して問題がないかどうかを確認する OSS プロジェクトがあります (http://code.google.com/p/fighting-layout-bugs/))。ファイルをストリームに開き、すべてのビットを比較することでそれを行います。

PIL で同様のことができるかもしれません。

編集:

さらに調査した結果、私は見つけました

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))

http://snipplr.com/view/757/compare-two-pil-images-in-python/ および http://effbot.org/zone/pil-comparing-images.htm で


Linux
  1. Linuxでホットキーサポートを実装する最良の方法は?

  2. LinuxでL1、L2、L3キャッシュ、RAMのサイズを知る方法はありますか?

  3. Linux で 2 つの SQLite データベースを比較する方法

  1. RHEL7LinuxへのPythonパッケージツールのPIPのインストール

  2. Linux Mint 20.3にアップグレードする方法:正しい方法

  3. Linuxマシンでpython 3でキーの押下を検出する最も簡単な方法は何ですか?

  1. Linux で現在の rpath を検査する方法はありますか?

  2. Unix/Linux で 2 つのファイルの内容が同じかどうかを確認する最速の方法は?

  3. Linux 上の 2 つのバージョンの Python。 2.7 をデフォルトにする方法