ruig 簡易類似画像チェック&並替バッチ生成ツール
Avarage Hash法というすごく単純だけれど、それなりに判定できる方法を用いた簡易類似画像判定用コマンドラインツールです.
似た画像が近くに来るよう並べ直した番号のファイル名をつけて、copy か move をするバッチを生成できます。
使い方usage> ruig.exe [-opts] jpeg-file(s)...
オプション -c[PREFIX] copy バッチ生成用. (標準出力) -m[PREFIX] move バッチ生成用. (標準出力) -n 誤判定あれど近同画像のファイル名を出力.(デフォルト) -s -n よりは厳しめに同一と思われる画像のファイル名を出力. -a すべてのファイル名を出力する. バッチ生成や 日付付替では たいていこれも指定することになる. -nd 近同画像でパスのディレクトリの違うもののみ出力. (複数ディレクトリに画像がある状態で、違うディレクトリに 類似画があるかをチェック) -t 類似判定結果でファイル名を出力するのでなく、画像ファイルの 日付を 現在時間付近が最後になるように結果順に1分ごとに設定. これで日付を変えておいてエクスプローラ等で日付ソートするの想定. -a併用で全対象にしていないと悲しいかも. -i jpegの特性を活かした縮小画像取得をせずにフルサイズ画を元にする. @respfile レスポンスファイル入力.
引数でのファイル名の指定はワイルドカード(*)指定可能.
使用例
copy | move バッチ生成複数の jpg ファイルのあるフォルダで、例えば
ruig -a *.jpg -ctest_dir\test_ >test.bat や
ruig -a **.jpg -ctest_dir\test_ >test.bat をコマンドラインで実行すれば、test.bat として
copy "hoge1.jpg" "test_dir\test_0000100-01-4000x3000.jpg" copy "hoge2.jpg" "test_dir\test_0000100-02-1024x0768.jpg" copy "foo.jpg" "test_dir\test_0000200-00-1920x1080.jpg" のような感じにcopy命令の並んだバッチが作られます。 オプション -c の代わりに -m を使えば move 指定になります. オプション -a を付けなければ(-n扱いで)、類似とみなした画像分のみを生成します。 が、copyやmoveバッチを使うような場合は全部をコピーや移動することが多いので、実質 -a 指定必須でしょう(忘れに注意).
使用例以下のような並びの画像ファイルがある場合、
ruig -a x:\ruig-smp1\*.jpg -cx:\ruig-smp2\tst_ >cpy_smp.bat で生成したバッチを実行することで
な感じに並べ直せます。 copy | move で生成するファイル名の番号についてcopy や move のバッチで生成される新規ファイル名は
[PREFIX]MMMMMmm-ss-WWWWxHHHH.jpg のようになります。だいたい、
MMMMM 大きく違う画像ごとに割り振られる番号 1以上 mm 誤判定もありえるが近そうな画像同士の連番 01以上(類似なければ00) ss かなり類似と思われる画像同士での連番 01以上 (類似なければ00) WWWW 画像横幅 HHHH 画像縦幅 mm と ss の差は 明確な違いがあるわけでなく内部的な判定結果ままを出しています。 |