Windowsで2つの画像の差分(diff)を簡単に調べる方法


ImageMagick

※当ブログではアフィリエイト広告を利用しています。

この2つの画像、どこが違うのか簡単に知りたい・・

ImageMagickというツールを使えば、差分を簡単に調べることができます。

この記事では以下の順で、Windows で ImageMagick を使った結果やインストール方法を解説します。

  • どのように画像の差分がわかるのか
  • ImageMagickのダウンロードとインストール方法
  • ImageMagickの使い方

最後まで読んでいただければ、もう画像の違いがどこにあるのか悩まなくなるはずです。

2つの画像の差分(diff)を調べる方法

2つの画像の差分(diff)は、画像を表示したり操作したりすることができる無料ソフトウェア「ImageMagick」のcompositeコマンドより調べることができます。以下は参考サイト様で紹介されている実際のコマンドです。

composite -compose difference A.jpg B.jpg diff.jpg

とすれば、A.jpg と B.jpg の差分画像 diff.jpg が作られます。

上記の方法でA.jpgB.jpgの差分diff.jpgを作った結果は以下の通りです。
差分画像の詳細

Windowsで上記方法で2つの画像の差分を取るにはImageMagickのインストールからスタートする必要があるため、インストール方法からコマンド使用までを解説します。

ImageMagickのダウンロードとインストール

ImageMagickのダウンロードとインストール方法です。

ImageMagickのダウンロード

ImageMagick公式サイトの Downloads を開き、「Windows Binary Release」リンクを開きます。

ImageMagick Windowsダウンロード

使用中のWindowsが64Bit版の場合は「ImageMagick-6.8.9-0-Q8-x64-dll.exe」を、32Bit版の場合は「ImageMagick-6.8.9-0-Q16-x86-dll.exe」を「download」よりダウンロードします。(バージョン番号の部分は変更される可能性があります)

ImageMagick Windowsダウンロード

ダウンロード完了したらインストーラをダブルクリックして起動します。
ImageMagick インストーラ

ImageMagickのインストール

インストールは途中の「Select Additional Tasks」で「Add application directory to your system path」をチェックしておくことが重要な以外は、デフォルトの設定で「Next」ボタンを押下して進めていくだけでOKです。
ImageMagick systemパスを通す

インストールが完了したら正しくインストールされているかを以下のコマンドで確認します。

convert logo: logo.png
logo.png

コマンドを実行して以下の画像が表示されればImageMagickが正しくインストールされています。
logo

もし画像が表示されない場合はコマンドを実行したディレクトリにlogo.pngというファイルができており、上記画像と同じであればOKです。

ImageMagickの composite コマンドで2つの画像の差分を取る

今回はCドライブのC:\imsampleフォルダに差分を取りたい2つの画像A.jpgB.jpgの2つの画像を配置しました。

ImageMagick 差分を取る前

下記コマンドで差分画像diff.jpgを生成します。

cd c:\imsample\
composite -compose difference A.jpg B.jpg diff.jpg

差分画像diff.jpgが生成されました。
ImageMagick 差分を取った後

オマケ:ドラッグ&ドロップするだけで画像の差分がわかるバッチ

2つの画像ファイルをドラッグ&ドロップすることで、画像ファイルと同じフォルダに差分画像diff.jpgを吐き出す簡単なバッチを作ってみました。せっかくなので公開しておきます。

この記事に記載した方法でImageMagickがインストール済みであることが動作条件です。

ダウンロードはこちら imagediff.zip(466バイト)

ImageMagick バッチ処理
尚、画像ファイルはjpgpngbmpで動作確認していますがエラー処理は簡単にしか行っておりませんのでご了承ください。

おわりに

ImageMagickのインストールが若干面倒ですが、最初だけインストールしてしまえば次回からは簡単に画像の差分を調べられるため便利だと思いました。

GitHub等のWEBサービスで画像の差分を取る方法もありますが、著作権のある画像の差分を取りたい時に画像をアップロードして公開してしまうのが良いのかわからなかったため、個人的に調査で画像の差分を取るときはローカルで実施するのが良いのではないかと思い今回の方法を実施してみました。