背景画像が自動的にダウンロードされたWindowsの「資産」フォルダから画像をコピーする必要があります。これらの画像の一部は表示されず、ある時点で削除されます。私が削除される前にすべての新しいイメージを見たことを確認するために、これらのイメージを別のフォルダにコピーするPythonスクリプトを作成しました。効率的には、2つの画像を比較する方法が必要です。新しい画像のみがコピーされます。私がする必要があるのは、2つの画像を視覚的に同一ではないことを確認するために、2つの画像を単純な手法で比較する機能を持たせることだけです。簡単なテストでは、画像ファイルをコピーしてコピーと元の画像を比較することができます。その場合、関数はそれらが同じ画像であることを伝えることができます。 Pythonで2つの画像を比較するにはどうすればよいですか?私はそれを行うためのシンプルで効率的な方法が必要です。私が読んだ答えは、少し複雑です。Pythonで2つの画像を比較する簡単な方法
答えて
私は以前にも同様の問題が発生しました。私はPIL.Image.tobytes()を使ってイメージをバイトオブジェクトに変換し、バイトオブジェクトに対してhash()を呼び出し、ハッシュ値を比較しました。
あなたの経験から、これがうまくいかなかった状況に遭遇しましたか? – Amani
いいえ、私はちょうどいくつかのスクリーンショットをキャプチャして、私は重複コピーを作成しないことを確認使用しています。数十億の画像を処理していない限り、私は衝突について心配しません。 – user2341726
@Amaniハッシュの衝突の可能性を減らすために、組み込みの 'hash'ではなく' hashlib'の暗号ハッシュ関数を使用することを強くお勧めします。イメージファイルを別のイメージファイル形式に変換しない限り、 'PIL.Image.tobytes'を使う必要はありません。ファイル内のバイトのハッシュを使用するだけです。 –
は、Python
オプション1で2つのイメージを比較する: 使用ImageChopsモジュールとそれがチャンネル操作(「チョップ」)と呼ばれる算術画像操作の数を含んでいます。これらは、特殊効果、イメージ合成、アルゴリズムペインティングなど、さまざまな目的で使用できます。
例:
ImageChops.difference(画像1、画像2)は、二つの画像間の差の絶対値を返し
画像
を⇒します。アウト= ABS(画像1 - 画像2)
オプション2:
Scikit-imageはscipyのダウンロードのための画像処理ツールボックスです。
scikit-imageではcompare_ssim〜を使用してください。2つの画像の平均構造類似度を計算してください。
参考文献:
- 1. 2つの画像の画像比較
- 2. ロボットフレームワークで2つの画像を比較する方法
- 3. 2つの画像を比較する
- 4. Python:最も簡単な方法で2つの配列を比較する方法
- 5. 2つのベクトルのオブジェクトを簡単に比較する方法は?
- 6. 2つの画像の比較
- 7. 2つの非線形変換(単色)画像の比較
- 8. C#で簡単な汎用比較を実装する方法
- 9. Monkeyrunnerの2つの画像をウィンドウ下で比較する
- 10. Python - 2つの2D配列を行単位で比較する
- 11. Xcodeで2つの画像を比較するには?
- 12. Pythonで2つのデータ出力を比較する方法
- 13. PHPを使ってアップロードした2つの画像を比較する方法
- 14. Node.jsを使用して2つの画像を比較する方法
- 15. 2つのリストを比較する簡単な方法<String>リストをユニークな値に保ちます。
- 16. 2つのリストを比較する最も簡単な方法は何ですか?
- 17. Swiftで簡単に配列に画像を追加する(簡単な方法)
- 18. 2つの画像の類似度を比較するAPI
- 19. 2つのベクトル画像を比較する
- 20. 2つの入力を互いに比較する方法 - Python
- 21. 2つのリストを比較する(Python)
- 22. はアンドロイドの2つの画像を比較します
- 23. 2つの異なるページで2つの製品を比較する方法
- 24. memcmpで2つの画像を比較する方法x軸フリップを行う方法
- 25. JSの画像をタイルする最も簡単な方法
- 26. 2つの画像を比較する/複雑なジェスチャを一致させる
- 27. Pythonで画像を比較するPythonコード
- 28. SubSonic 3/ActiveRecord - 2つのレコードを簡単に比較できますか?
- 29. 2つのJavaPairRDDをキーで比較し、値を比較する方法は?
- 30. 整数比較のためのPandasシリーズを変換する簡単な方法
「比較する」とはどういう意味ですか?正確にピクセル値または異なる品質の類似した画像? – minhhn2910
そして、compare関数は "same"または "different"を返すだけですか? – minhhn2910
あなたが見た複雑な答えは、実際の画像を比較していると思います。あなたは本当にそれをする必要はありません。 2つのファイルに全く同じバイトが含まれているかどうかをテストするだけです。簡単な方法は、これらのファイルのハッシュを比較することです。標準の 'hashlib'モジュールから(例えば)MD5やSHA-256を使うことができます。 –