
私は、あるレンダリング ソフトウェア用の回帰テスト スイートを作成しています。画像ファイル (理想的には PNG または TGA) を読み込み、ピクセル値を標準の承認済み画像と比較できる必要があります。
すべてのテストを実行するバッチ ファイルを作成できるように、コマンド ライン駆動にもしたいと思います。
これまでに見つけた比較ユーティリティはすべて、違いを表示するか (異なる場合は失敗するようにすればよい)、すべてのバイトを比較します。つまり、メタデータによって失敗がトリガーされます。
誰か何か提案はありますか? 私はプログラマーではないので、バッチ スクリプトをなんとかまとめることしかできません。
ご提案があればよろしくお願いします。
答え1
調べてみると、TGA ファイルにはメタデータがないので、単純な fc を使用して比較できることがわかりました。ただし、違いがたくさんあると fc は非常に遅くなるため、検索して FCMP (http://www.gammadyne.com/cmdline.htm#fcmp) は、まさに私が必要としていることを無料で実行してくれます。
別のコマンドライン プログラムを使用して他の形式から TGA に変更することもできるので、これもうまく機能します。
助けようとしてくれた他の皆さんに感謝します!
答え2
使用しているプラットフォームによって異なります。Mac を使用している場合は、iPhoto と Duplicate Annihilator で重複した写真を見つけることができます。
写真が同じであることを確認したい場合は、diff
コマンドを試してください。
diff picture1.png picture2.png
ただし、どこが違うのかはわかりません。
出力がないということは同じであることを意味しますが、出力が
Binary files photo.png and photo2.png differ
より多くの情報が必要です。この場合、環境について詳しく教えていただければ、スクリプトを作成できます。
実際には同じ画像であっても、サイズが 1 ピクセルでも変更されている場合は、同じ画像ではないことがわかります。
答え3
重複検出プログラムをいくつか持っていますが、しばらく使用していません。
デュープディテクターhttp://www.prismaticsoftware.com/
画像クローン、パーセント一致、微調整可能な 2 つのパラメータ。使用されるアルゴリズムの種類には多くのオプションがあります。1 つまたは 2 つのファイル プールで重複した画像を検索します。3 部構成のプロセスで、少し考えが必要ですが、相互参照用の優れたリストを作成できます。重複ログ、自動移動、および私が使用していないが、あなたにとってより便利な機能はありますか?
「クローンスパイ」http://www.clonespy.com/
データ クローン、100% 一致、名前一致、プールの比較、名前が異なる繰り返しを見つけるのに適していますが、ファイルに異なるヘッダーがある場合はあまり役に立ちません。