今回は Mac で画像A と画像B を比較する方法についてお話します。
違いの有無を簡単に調べる方法 (1)
まず、違いの有無を簡単に調べる方法から。
1.Terminal を起動します。
2.以下のコマンドを実行します。
cmp 画像Aのパス 画像Bのパス
※コマンド、画像のパスそれぞれの間にある半角スペースを忘れずに。
※画像のパスは Terminal に画像を ドラッグ & ドロップ することで入力できます。
差分があれば<.strong>以下のように異なるバイト位置が表示されます。
画像Aのパス 画像Bのパス differ: char 3788, line 32
違いの有無を簡単に調べる方法 (2)
手元のパソコンに入っているデータならこれで良いのですが、
別のパソコンや遠隔地にあるデータを比較するのはちょっと面倒です。
そんなとき、もし厳密な比較でなくとも良ければ
cmp ではなく md5 でも概ね代用できます。
1.Terminal を起動します。
2.以下のコマンドを実行します。
md5 画像Aのパス
すると以下のように画像A を表す値が得られます。
MD5 (画像Aのパス) = 4554091ede38b3cbbcb8951641bcb5dd
画像B についても同様に値を得ます。
MD5 (画像Bのパス) = c19f6abf52c905f3940552a9c78a293f
これらの値が異なれば差分があると判断します。
具体的にどこが違うのか調べる
画像に違いがあるかどうかではなく、
どこに違いがあるかを知りたい場合もあります。
そんなときは以下のようにして簡単に調べることができます。
http://cactuslab.com/imagemagick/
0.ImageMagick をインストールします。(初回のみ)
1.Terminal を起動します。
2.以下のコマンドを実行します。
/opt/ImageMagick/bin/compare 画像Aのパス 画像Bのパス 比較結果画像のパス(保存先)
※比較結果画像は断り無く上書きされますので注意して下さい。
間違えて上書きすることがないように、
例えばデスクトップに compare という
フォルダを作ってそこで作業するなどします。
仮に compare フォルダ内の a.png と b.png を比較し、
その結果を c.png として保存するとします。
その場合は
1.Terminal を起動します。
2.以下のコマンドを実行して compare フォルダへ移動します。
cd Desktop/compare
3.以下のコマンドを実行します。
/opt/ImageMagick/bin/compare a.png b.png c.png
c.png に比較結果の画像が上書きされます。
※ファイルが無い場合は生成されます。
ImageMagick での比較結果
以下の3つの画像を ImageMagick で比較した場合の結果を例示しておきます。
b2.png (a.png を一度 jpg に変換し、再度 png とすることで変質させてもの)
a.png と b1.png を比較すると
タイプミスの部分は色が不一致なので
差分を示す赤色がつくことで浮き彫りになります。
a.png と b2.png を比較すると
肉眼では同じに見えても厳格には色が一致しないため
全般的に差分を示す赤色がつきます。
なるべく簡単に画像の差分を調べたい人のお役に立てば幸いです。
お問い合わせについて
業務として技術コンサルティングやシステム設計・開発を行っております。
気になることがありましたらご相談下さい。
ご相談のみで完結する場合、コンサルティング費用の目安は
内容によりますが1時間で5千円〜1万円ていどです。
コンサルティングや開発を検討されるその前に、
まずはお気軽にコメントやメールでご連絡下さい。
※ご契約前のコメントやメールでのやりとりは無料です。