2010-11-18
ImageMagick:右クリックから画像の差分を確認する
テキストの差分比較ツールは数多あるが、画像の差分比較ツールはあまりない。
ということで、右クリックメニューの「送る」から差分画像を表示する仕組みをつくってみた。
1. 必要なもの。
- 起動の速い画像表示ソフト
拡張子.pngのファイルをダブルクリックして表示できれば何でも良い。
個人的にはマルチプラットフォームという理由でXnViewを使っている。
コマンドプロンプトでcompositeとうち、使い方が表示されればOK。
- ActivePerl
コマンドプロンプトでperl -versionとうち、バージョン表示ができればOK。
下記をimagediff.plとして適当なフォルダに保存する。
#!/usr/bin/perl -- use strict; use utf8; my $file1 = $ARGV[0]; my $file2 = $ARGV[1]; my $diff_file = 'diff.png'; if($file1 ne "" && $file2 ne "" && -e $file1 && -s $file1 && -e $file2 && -s $file2) { my $cmd = 'composite -compose Divide "' . $file1 . '" "' . $file2 . '" ' . $diff_file; system($cmd); system('start ' . $diff_file); } else { print "Usage: $0 <image1> <image2>\n"; print " Hit enter(return) key to close.\n"; my $wait = <STDIN>; }
# EOF
3. バッチファイル作成。
下記をimagediff.batとしてimagediff.plと同じフォルダに保存する。
rem @echo off pushd %~dp0 perl imagediff.pl %*
4. imagediff.batのショートカットを作成、ショートカットの名前をimagediffに変えてSendToフォルダに入れる。
スタートメニュー->ファイル名を指定して実行 に
「sendto」と入力すると早いかも。
完了。
あとはExplorer上で画像ファイルを2つ選択して
右クリック->送る->imagediff
で差分画像が表示される。
TortoiseSVNの差分確認にも使える。
->[Settings]
->[External Programs]
->Diff Viewer
->Advanced
<スクリプト保存フォルダ>\imagediff.bat" %base %mine
とする。
TortoiseSVNにはTortoiseIDiffという画像比較ツールがついている。
2枚の画像を並べて見たり、重ね合わせたりできて便利。
ただ、「送る」から比較画面を起動する方法が分からず、ImageMagickを使うことにした。
http://tortoisesvn.tigris.org/TortoiseIDiff.html
差分画像はconvert -list composeでリストアップされた合成方法を色々試してみた結果、Divideがきれいでわかりやすかったので採用。
- 28 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4ADRA_jaJP370JP372&q=スクリプト エラー 8
- 7 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&q=imagemagick+devide&aq=f&aqi=&aql=&oq=&gs_rfai=
- 6 http://search.yahoo.co.jp/search?p=Google スクリプトエラー&rs=1&tid=top_ga1_sa&ei=UTF-8&fr=top_ga1_sa
- 6 http://www.google.co.jp/search?q=画像 差分&rls=com.microsoft:ja:IE-SearchBox&ie=UTF-8&oe=UTF-8&sourceid=ie7&rlz=1I7ADRA_ja
- 5 http://www.google.co.jp/search?hl=ja&lr=lang_ja&tbs=lr:lang_1ja&q=ImageMagick perl 差分&aq=f&aqi=&aql=&oq=&gs_rfai=
- 5 http://www.google.co.jp/search?q=差分画像 手法&btnG=検索&hl=ja&lr=&client=firefox-a&rls=org.mozilla:ja:official&channel=s&sa=2
- 5 http://www.google.co.jp/search?q=Can't+load+MagickLoader&hl=ja&prmd=ivns&lr=lang_ja&sa=X&ei=APkjTb_aFpKGvAPV2unnDQ&ved=0CBcQuAE
- 5 http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=ImageDiff」&num=50
- 4 http://k.hatena.ne.jp/keywordblog/GanttProject
- 4 http://search.yahoo.co.jp/search?p=グーグルでエラー表示&aq=-1&ei=UTF-8&pstart=1&fr=top_ga1_sa&b=11
情報ありがとうございます!!
tortoiseidiff -helpでもヘルプでますね。
ご教示頂いたとおりのバッチファイル作って「送る」から比較できました。