1

シェルスクリプトでは、画像のサイズが異なるか、1 つの画像の少なくとも 1 つのピクセルが他の画像の対応するピクセルと異なる RGBA を持っているという意味で、2 つの PNG 画像が異なるかどうかを確認したいと思います。

2 つの画像ファイルのハッシュ化は機能しません。これは、画像の圧縮が異なるか、コメントが異なるか、2 つのピクセルが完全に透明であるが RGB コンポーネントが異なる可能性があるためです。

ImageMagick のconvertユーティリティを使用して、ファイル サイズが異なるかどうかを確認する方法を知っています。ピクセル値を比較する限り、ImageMagick のcompareユーティリティを使用することを考えましたが、コマンドが正常に処理された場合、終了コードは常に 0 です: http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t =22451

2 つの PNG 画像のピクセルが等しいかどうかを比較するには、どのコマンド ライン テストを使用できますか? それともやっぱり使い道あるのかなcompare

4

3 に答える 3

5

圧縮されていない RGBA を許可する画像形式を見つけ、両方のファイルを変換して、出力を比較します。多分このようなもの:

$ convert a.png a.rgba
$ convert b.png b.rgba
$ cmp {a,b}.rgba
a.rgba b.rgba differ: byte 1, line 1
于 2013-04-22T16:05:21.017 に答える