私は2つの画像を比較する必要があるプロジェクトで作業しています。誰でも手助けをしてください。画像はスクリーンショットです。ソフトウェア。 画像に表示されている数字と文字(ソフトウェアのスクリーンショット)を含む2つの画像が同一であるかどうかを確認したいと考えていました(ソフトウェアのスクリーンショット)。Pythonで画像を比較するPythonコード
答えて
適切な比較を行うには、以下の方法があります。
- まず2枚の画像がどの程度似ているかの尺度を取得するには二乗平均平方根差の#
である、あなたは、二乗平均平方根(RMS)値を計算することができます画像の違い。イメージが完全に同一である場合、この値はゼロです。次の関数はdifference関数を使用し、結果の画像のヒストグラムからRMS値を計算します。
# Example: File: imagediff.py
import ImageChops
import math, operator
def rmsdiff(im1, im2):
"Calculate the root-mean-square difference between two images"
h = ImageChops.difference(im1, im2).histogram()
# calculate rms
return math.sqrt(reduce(operator.add,
map(lambda h, i: h*(i**2), h, range(256))
)/(float(im1.size[0]) * im1.size[1]))
- 別の2枚の画像がまったく同じ内容を持っているかどうかを判断する最も簡単な方法は、2つのイメージの違いを取得した後、境界を計算することである正確な比較#
ですこの画像内の非ゼロ領域のボックス。画像が同一である場合、差分画像のすべてのピクセルはゼロであり、境界ボックス関数はなしを返します。
import ImageChops
def equal(im1, im2):
return ImageChops.difference(im1, im2).getbbox() is None
私はすぐに答えを出すことはできませんが、思う)正しい方向。 2つのイメージを比較する簡単な方法は、バイナリ表現のハッシュを作成し、それらのハッシュが同じかどうかを確認することです。この問題の1つは、使用したいハッシュ関数であり、衝突の可能性が低いものを探す必要があります。もう1つは、画像ファイルに元のバイナリ情報にメタデータが添付されている可能性があるためです。バイナリ情報のみを使って画像を比較するために、メタデータをどのように切り捨てるのか。 また、私は確かに分かりませんが、おそらくjpgでエンコードされた画像のバイナリ表現はpngでエンコードされた画像とは異なりますので、それに注意してください。
私は2つの画像を比較するStructured Similarity (SSIM)メソッドを使用していますpyssimと呼ばれるPythonライブラリを維持しています。
これはPythonバインディングを持っていませんが、perceptualdiffプログラムは2つの画像を比較するのにも素晴らしいものです。
はあいまいな比較のpyssimですか?画像にテキストボックスがある場合、ボックスの位置は別の画像と同じですが、テキストはわずかに異なりますか?それは何のスコアを返しますか?それは構造だけを考慮していますか? – user299709
テキストが異なる場合は、スコアが低くなります。 – jterrace
- 1. Python音声比較
- 2. Pythonでリストを比較するには?
- 3. javascriptで画像を比較する
- 4. JAVAで画像を比較する
- 5. ファイルを比較するpython difflib
- 6. 2つの画像を比較する
- 7. PythonのCSVkit比較CSVファイル
- 8. 比較リスト - 宿題のPython
- 9. PythonのMD5は比較
- 10. Pythonのデータ型の比較
- 11. Pythonの配列エレメント比較
- 12. アンドロイドリアルタイム画像認識/比較
- 13. 画像ロゴの比較
- 14. OpenCV for ANDROID画像比較
- 15. Pythonでの日時比較の動作
- 16. Pythonでの例外オブジェクトの比較
- 17. MD5のハッシングとPythonでの比較
- 18. PythonスクリプトでのSNMP OIDの比較
- 19. Pythonでの二重比較の略語
- 20. AndroidでのOpenCV画像比較
- 21. C#画像認識性能 - 画像リストと画像辞書を比較する
- 22. PythonによるSQLのデータの比較
- 23. Python辞書キー(クラスオブジェクト)複数の比較関数との比較
- 24. Python urlretrieve画像
- 25. PythonでReportlabを使用した画像のアスペクト比
- 26. Matlabを使った画像比較
- 27. SQL内の画像を比較
- 28. 距離を画像比較に使用
- 29. Pythonの動的な比較指定子でバージョン番号を比較
- 30. Pythonで画像を認識する
あなたが比較するとどういう意味ですか?それらが同一であるかどうか確認したいですか? Pythonでこれを行う方法や一般的に画像を比較する方法の詳細をお探しですか? –
はい私はそれらがソフトウェアに表示された数字/文字を含めて同一であるかどうかを比較したいと思った。 – stallion