ユーザガイドでは、Simg の使い方の概要を説明しています。
各機能の詳細については
リファレンス
を参照してください。
本文において、グレーで表示される部分は、 バージョン3.0.0よりデフォルトで表示されなくなった項目(旧機能)です。 旧機能を引き続き利用したい場合は、(旧モードの利用方法)を 参照してください。
Simg とは、 画像ファイルの同一および類似を検出し、 閲覧・削除・改名操作を行なうソフトです。
画像の同一/類似検出には以下の手法を用いています。
類似検索では、 ファイル同士の他、 フォルダ・ZIP 同士の比較ができます。 (ZIPとは画像ファイルをZIP圧縮したファイルで、 ZIPもフォルダも同じ画像ファイルの集合とみなします)
検出結果は、画像ビューアを使って差分を詳細に確認できます。 また、ファイルビューアではフォルダ間の類似の関係が確認できる他、 フォルダの削除や改名、移動がボタン1つで行なえます。
一番のボトルネックである類似検索処理はスレッド処理を行なっています。 検索を行ないながら、 類似画像の閲覧やファイル操作(改名や削除)を行なえます。 (データロックの効率がよくないので、たまにフリーズ状態になることがあります)
サポートする画像フォーマットは、jpg, png, gif, bmp です。
Simg の主な機能を紹介します。 詳細はリファレンスを参照してください。
Simg は、 類似検索および検索結果表示を行なうメインウィンドウの他、 画像間の類似を目視で確認するための画像ビューア、 フォルダ間のファイルの類似を確認するファイルビューアから構成されています。 それぞれのウィンドウはモードレスに動作します。
画像比較では、 比較アルゴリズム(MD5, OpenCV特徴量)と 対象(ファイル、フォルダ+ZIP)の組み合わせにより定義された「モード」を 選択することで様々な手法による比較が行なえます。
「モード」の名称は、以下の規則で決定しています。
(比較対象)-(画像の特徴量アルゴリズム) (付加情報) (比較対象) := "ファイル" | "フォルダZIP" | "フォルダ" "ファイル" := (ファイル単位による画像同士の比較) "フォルダZIP" := (フォルダもしくは ZIP ファイル単位による画像同士の比較、 フォルダおよび ZIP の区別は無い) "フォルダ" := (フォルダ単位による画像同士の比較) (画像の特徴量アルゴリズム) := "バイナリ" | (OpenCV特徴量アルゴリズム名) | "カラー" "バイナリ" := (MD5による比較) "カラー" := (色特徴による比較) (付加情報) := "" | "(簡易)" | "(全て)" "(簡易)" := (フォルダ単位の先頭ファイルのみの比較) "(全て)" := (フォルダ単位の全ファイルの比較)
「ファイル - *」では画像ファイル同士の中で比較し、類似するファイルのペアを抜き出します。
「フォルダZIP - *」では、フォルダおよびZIPをグループとして、グループ単位で比較を行ないます。
(ZIPとは複数の画像ファイルをZIP圧縮したものです。
ZIPとフォルダは、共に画像ファイルの集合とみなします)
グループ対グループで1つでも画像が似ていれば検出します。
「フォルダ - *(*)」では、フォルダ対フォルダで比較します。
フォルダ間でもっとも類似度の高いペアを抜き出していき、
その類似度の平均をフォルダ間の類似度とします。
「バイナリ」は、ファイルの MD5 値による完全一致検査です。
類似度の表現の仕方が他の手法と比べ、特殊な表現をしています。
MD5でのマッチングの為、RGB 値的に同じ画像であっても、
付属情報(コメント等)でファイルサイズが異なると違うモノと判断してしまいます。
(OpenCV特徴量アルゴリズム)は、OpenCVの全体特徴量によるマッチングです。
画像を固定サイズ以下にリサイズしたあと、
グレー化を行ない、cv::FeatureDetector クラスより特徴量
cv::KeyPoint を取り出します。
この KeyPoint から座標(pt.x, pt.y)、角度(angle)およびサイズ(size)
を用い、座標・角度を標本化、サイズを規格化して、index値に対する密度分布として特徴量を定義し直します。
この特徴量の重なり具合より類似度を算出し、0 〜 1 の数値で表現します(1が完全一致)。
「カラー」に比べやや遅くなりますが、誤検出が少なく、より高い精度で検出を行なえます。
デフォルトの状態では、SURF のみがメニューに組み込まれています。
パラメータを変更したい場合や他のアルゴリズムを試したい場合は
「Q11. モード OpenCV特徴量 のカスタマイズ方法は?」
を参照してください。
「カラー」は、色ヒストグラムによる類似検索です。
画像を 128x128 [pixel] にリサイズした後、4x4 分割し、各ブロックで
色ヒストグラムを作成します。この色ヒストグラムの重なり具合より
類似度を算出し、0 〜 1 の数値で表現します(1が完全一致)。
初歩的なマッチング手法です。
カラー画像に関しては比較的速く検出を行なえますが、
モノクロ画像に関しては誤検出が多くなります。
類似度はモードによって定義が異なります。
類似度 | 色 | 意味 | フィルタ名 |
---|---|---|---|
1:1 | 緑 | MD5およびファイル名が一致しています。 基本どちらを消してもOK。 |
完全一致 |
1:0 | 黄 | MD5は一致していますが、ファイル名が異なります。 ファイル名に注意しましょう。 | 同内容; 異ファイル名 |
類似度 | 色 | 意味 | フィルタ名 |
---|---|---|---|
1:1:1 | 濃緑 | フォルダ内の中身(各ファイルのMD5、 ファイル名)が一致しており、 更にフォルダ名も一致しています。 | 完全一致 |
1:1:0 | 緑 | フォルダ内の中身は一致していますが、 フォルダ名が異なります。 | 同内容; 異フォルダ名 |
1:0..x:a.b.c | 黄 | 各ファイルのMD5は一致していますが、
ファイル名が異なります。 ファイル名の連番や接頭字が異なる場合です。 |
同内容; 異ファイル名 |
0:1..x.y.z:a.b.c | 橙 | 一方がもう一方に包含される(部分集合になっている)場合です。 | 部分集合 |
0:0..x.y.z:a.b.c | 赤 | 一部の組み合わせでファイルのMD5が
一致しています。
(部分一致) MD5で対応のとれないファイルの組があります。 画像ビューアでより詳細な違いを確認してください。 |
部分一致 |
メインウィンドウおよびファイルビューアでは、
サムネイルを表示させることができます。
デフォルトでは OFF になっています。
画像ビューアは、類似度の数値に頼らず、
実画像を見比べて確認するためのツールです。
2つの画像を表示、ズーム、回転、反転といった操作だけでなく、
重ね合わせ(XOR)による差分を確認できます。
特にXOR表示では、わずかな違いも直ちに見つけられるよう、
差分の位置を記録しており、ダブルクリックで該当箇所に移動します。
また、下段にファイル情報(ファイル名や編集日時、サイズ)も表示させることができます。
小さい/古いほうが青く、大きい/新しい方が赤く色づけしています。
類似検出したファイルおよびフォルダに対して以下の操作を行なえます。
但し、ZIP内のファイルに対しては操作できません。
ファイル・フォルダの操作(削除、改名、ファイル移動、フォルダ名交換)に対して Undo, Redo 操作ができます。
Undo はユーザが行なった操作を元に戻す機能です。
Redo は Undo で元に戻した機能を再度やり直す(Undoする前の状態に戻す)機能です。
メニューバーの[編集]-[元に戻す](もしくは Ctrl-Z)で Undo を、
メニューバーの[編集]-[やり直し](もしくは Ctrl-Y)で Redo を行ないます。
操作履歴は 10 個までしか保持していません。
古い操作は破棄していくので、どこまでも戻せるというわけではありません。
また、履歴は次の操作を行なうと、消えてしまいます。
Undo,Redo は全モードで共通の機能なので、 操作A後にモードを切り替えて操作Bを行なうと、 モードを戻して「元に戻す」を行なっても操作Bの Undo になります。
検索結果(データ)を保存・読み込みすることができます。
このデータはモード毎に作成され、互いに独立しています。
同じフォルダに対する類似検索であってもモードが異なれば別々の 保存ファイルを作成します。
アプリケーションの起動時には、前回終了時に直近で操作したファイル (メニュー[ファイル]欄に表示される1番上のファイル)が読み込まれます。
Save 時のデフォルトのフォルダ位置が、類似検索対象のフォルダ直下に なりますが、これはデータ内のパスを相対パスで出力するためです。 相対バスの基底となるフォルダ位置は、デフォルトで検索対象のフォルダ になっています。 このフォルダごと別のパスに移動させれば、そのままデータを読み込む ことができます。
ファイル/フォルダおよび類似度にレベルが設けています。 これはフィルタ操作(絞込み)を目的としたものです。 平素に使う範囲では不要な項目です。
レベル値は [0 255] の範囲で割り振ることができます。
このレベルを利用することで以下の操作が可能になります。 具体的な操作は下記「高度な用法」を参照してください。
(Version 2.0.0 よりレベル値のデフォルト値が変更(0->1)になりました)
レベル値のデフォルト値は 1 です。
これはモード間のデータ変換時のコピーに、類似情報についてのみ
デフォルト値以下のレベルの場合は無視する(コピーしない)仕様のため、
無視するレベル値に幅を持たせたい為です。
具体的な利用方法としては、1 を未チェックとして、
0 をチェック済みで似ていない類似=他のモードで類似していなければ削除する、
2 以上を類似の関係を保持したままにする(類似度は無視)、といった具合です。
尚、このレベル値は ini ファイルで管理されているので
新規利用者(iniファイル削除、デフォルト値に戻す操作も同様)は上記のとおり 1 ですが、
旧来からの利用者で ini ファイルをそのまま利用していると 0 のままです。
ini ファイル内のデフォルト値
---------------------------------------- NODE_LEVEL_DEF=1 EDGE_LEVEL_DEF=1 ----------------------------------------を変更した場合、既存のデータファイルとのレベル値に差異が生じることがあるのでご注意ください。
アプリケーションの表示フォントを変更できます。 (デフォルトのフォントが小さくて見づらい人にも安心です)
メインウィンドウのテーブル上のキー操作は以下のとおりです。
キー | 機能 |
---|---|
z | レベル値 +1 |
x | レベル値 -1 |
r | テーブル表示更新 |
d | ファイル・フォルダ削除 |
(スペース) | ダブルクリック動作(ファイルビューア/画像ビューア表示) |
尚、ファイル/フォルダのレベル値変更および削除を行なうには
ファイル/フォルダ名列、
サムネ列、
ファイル/フォルダレベル値列
の列上で操作してください。
類似度レベル値を操作するには
類似度列、
類似度レベル列、
の列上で操作してください。
メニューの[オプション]-[ゴミ箱のパス設定...]で削除時の移動先(フォルダ)を 指定してください。 デフォルトで simg.exe のフォルダ下に dust/ を作成しています。 検索対象の画像と同じドライブにゴミ箱を作ることをお勧めします。
似通った画像を削除するという行為は、単純操作の繰り返しで大変疲れます。
そこで、注力するポイントを切り替えて効率よく作業すること
が必要になってきます。
個人的に
「何も考えずに重複を削除(完全一致検索のバイナリモード)」 ↓ 「中身を確認しながら削除(あいまい検索の OpenCVモード)」の順で操作することをお勧めします。
「ファイル - バイナリ」モードの操作後に、 「ファイル - SURF」モードで操作することをお勧めします。
「フォルダZIP - バイナリ」モードの操作後に、 「フォルダZIP - SURF」モードで操作することをお勧めします。
データを追加したした状態もしくは、データファイルを読み込んだ状態で 更にデータの追加を行なうと、 既存データはそのままに 新規データを追加して、 既存データと新規データの類似検索を行ないます。
また、データファイルの場合は同じモードの場合に限り追加することができます。 データファイルを追加しただけでは、ファイル間のデータの類似検索は行なわれません。 メニューの[編集]-[類似 更新]を行なってください。
尚、どちらの追加方法でも、同じファイル/同じフォルダを追加しようとすると、 先に登録されているデータが優先されます。
類似検索したフォルダツリー内をエクスプローラー等でフォルダを移動・追加したり、
アプリケーションのデータ保存後に落ちた場合など、
データファイルを読み込んだデータと実際のフォルダ・ファイル構成が異なる場合に
更新する方法です。
メニューの [編集]-[ファイル・フォルダ情報 更新] もしくは [編集]-[全データ更新] を行なってください。 「ファイル・フォルダ情報 更新」は登録された情報を元に、変更を確認して、 更新および削除を行ないます。テーブルのセルを選択して、部分的な更新が 行えます。 「全データ更新」は基底ディレクトリ以下のファイル・フォルダ情報と 比較して、更新、削除および新規作成を行ないます。 レベル値を残したまま画像の特徴量(MD5, 色ヒストグラム)を差し替える 機能です。 こちらの作業量は「データの追加」と同程度になるので、 実行する際にはご注意ください。
実在しないファイル・フォルダがデータに無い場合は、
テーブルのセルのダブルクリック操作で自動的に削除されます。
幾つかのフォルダが消えた場合などには、こちらでも十分です。
既存のデータがそのままで、
「データの追加」で部分的に新規データを登録することも有効です。
重複するデータがあっても上書きされません。
類似していても明示的に残しておきたい場合や 類似検出アルゴリズムの不備により誤検出される結果を 非表示にしたい時の方法です。
step1. | メニュー[表示]-[類似度 レベル フィルタ]-[同値 (Lv==x)]を選びます。 |
step2. | 表示させたくない結果の類似度のレベルを +1/-1 (x以外の値) します。 (コンテキストメニューの「類似度 レベル +1」) ... レベルを変更した結果は直ちに非表示になります |
上記 「特定の結果(組み合わせ)を隠す」 の操作で非表示にした項目を、表示する方法です
step1. | メニュー[表示]-[類似度 レベル フィルタ]-[無し]を選びます。 |
操作フローとしては、以下の手順で行ないます。
step1. | [ファイル]-[全初期化]でデータをクリアします。 |
step2. | 検査済みのフォルダを追加します。 |
step3. | テーブルのセルを<<選択せず>>にコンテキストメニューから 「フォルダ/ファイル レベル」を選択して、レベルを 設定します。 (セルを選択しないことで、全データが対象になります) |
step4. | [ファイル]-[保存]より保存します。 |
step5. | もう片方のフォルダでも同様の操作を行ないますが、 レベル値は異なる値を割り振ります。 |
step6. | [表示]-[全初期化]でデータをクリアします。 |
step7. | メニュー[表示]-[ファイル・フォルダのレベル フィルタ] -[両方が異値]を選びます。 |
step8. | それぞれのデータファイルを Drag & Drop して読み込みます。 |
step9. | [編集]-[再検出] して、類似の再検査を行ないます。 |
お気に入りの高い物ほどレベル値が高いものとします。
ファイル・フォルダのレベルにお気に入りのレベルと設定し、 既にレベル値は設定済みとします。
step1. | [表示]-ファイル・フォルダの並び]-[レベル (小、大)]を選択します。 |
これにより、レベルの低いものが左に、高いものが右に表示されます。 削除は常にレベルの低い左側を削除すれば、お気に入りの残すことができます。
A1.
マシンや対象(画像)に寄りますが、目安として当方の環境での測定値を
以下に示します。
計算時間は、OS のファイルキャッシュに左右されるので、
初回時(1st)と2回目(2nd)で、計測しています。
初回はファイルのフラグメンテーション等のファイル読み込みの影響を
強く受けます。
2回目はキャッシュが利いている分、アルゴリズム本来のパフォーマンス
に近い値を示します。
実際は初回実行と同じような状況と予想されます。
故に、初回と2回目は、実測値と理論値ぐらいで考えてください。
[マシン] CPU : Intel(R) Core(TM) i7 860 @ 2.80GHz MEM : 8.00GB HDD : MiniStation 1T, USB2 接続 OS : Win7pro(64bit) ------------------------------------------------------------ ファイル モードの場合 [テストケース] 1k : 1000 ファイル, 389MB 2k : 2000 ファイル, 751MB 4k : 4000 ファイル, 1.43GB 8k : 8000 ファイル, 2.50GB 16k : 16000 ファイル, 5.07GB 32k : 32000 ファイル, 10.7GB モード | test | 時間(1st) | 時間(2nd) | 使用メモリ | | [s] | [s] | [KB] ====================================================== バイナリ | 1k | 42 | 1.5 | 8,416 | 2k | 82 | 2.5 | 9,126 | 4k | 197 | 4.7 | 11,176 | 8k | 340 | 8.2 | 13,281 | 16k | 745 | 377 | 18,845 | 32k | 1733 | 962 | 35,884 ------------------------------------------------------ カラー | 1k | 76 | 41 | 26,325 | 2k | 135 | 76 | 47,473 | 4k | 295 | 143 | 90,561 | 8k | 515 | 253 | 179,401 | 16k | 1122 | 816 | 329,760 | 32k | 2275 | 1910 | 662,737 ------------------------------------------------------------ フォルダ モードの場合 (Version 1.5.0 にて再計測) [テストケース] 365 フォルダ (10312ファイル), 3.72GB モード | 時間(1st) | 時間(2nd) | 使用メモリ | [s] | [s] | [KB] ====================================================== バイナリ(簡易) | 53 | 1.4 | 9,092 バイナリ(全て) | 505 | 12 | 11,292 カラー(簡易) | 52 | 15 | 17,672 カラー(全て) | 671 | 385 | 108,308
A2.
パラメータを変更したい方は、simg.exe を終了させ、
アプリケーションのあるフォルダにある simg.ini を編集します。
カラーモードに関係するパラメータは以下のとおりです。
------------------------------------------------------------ パラメータ名 | 初期値 | 範囲 | 補足 ------------------------------------------------------------ FC_NSIZE | 128 | [1 -] | リサイズ時のサイズ FC_N_DIV_X | 4 | [1 -] | 画像の分割数(横) FC_N_DIV_Y | 4 | [1 -] | 画像の分割数(縦) FC_COLOR_VAL_SAMP | 32 | [1 256] | 色空間のサンプリング範囲 ------------------------------------------------------------
リサイズの大きさは、色ヒストグラムの精度に寄与します。 リサイズ時の画素数を分母とした確率値(小数)で、色ヒストグラムの値を 持つため、適度な大きさを持たせてください。 また、分割数の定数倍の大きさを持たせてください。
分割数は類似度の精度、使用メモリに寄与します。 分割数の数だけ色ヒストグラムを作成し、類似度の精度に寄与します。 また類似度の精度と使用メモリの関係はトレードオフになります。
サンプリング範囲は類似度の精度、使用メモリに寄与します。 範囲をサンプリング範囲の値で RGB の色空間 [0 255]の領域を分割、 画像の値を標本化します。 値が小さいと精度が向上しますが、使用メモリとのトレードオフに なります。
※類似度の精度とは、見た目で、似ているもの、似ていないものを分ける 度合いです。 精度が高いと似ているものと似ていないものを類似度の値で きっちり区別しますが、 精度が低いと区別できずに混在してしまいます。
A3.
スレッド処理で、流れ作業的に処理しているため、
途中の未処理のデータ量が上限なると定常状態になります。
対象となるファイル・フォルダの総数が、一番処理のかかる
「画像からの特徴量抽出」用のバッファサイズ(デフォルトで 10000)を
超えるときに発生します。
このバッファサイズを大きくすれば改善されることが期待できますが、
その分メモリを必要とします。
処理が進み、バッファサイズ内に収まれば、残り時間も正常に機能します。
バッファサイズを変更したい方は、simg.exe を終了させ、 アプリケーションのあるフォルダにある simg.ini を編集します。 データ追加時のバッファサイズは以下の箇所が該当します。
------------------------------------------------------------ THREAD_BUFSIZE_TARGET=10 THREAD_BUFSIZE_NODE=10000 THREAD_BUFSIZE_EDGE=1000 ------------------------------------------------------------ (Version 1.7.0 より書式が変わりました。 左よりキーワード、値を示しています)
A4.
カラーモード / OpenCV モードでは、全ての組み合わせを表示していません。
画像の特徴量の近傍にある画像(おおよそ似通った画像)を
取り出しているために、似ていても結果に表示されない場合があります。
これはアルゴリズムの性質によるもので、
全ての組み合わせを表示しなくても、最低1つの組み合わせを
表示できれば良し
としたためです。
(検出精度を犠牲にして処理時間の高速化を図っています)
このため、類似画像の処理(削除)を行なっていくと、未検出の組み合わせが 残っている場合があります。 このようなときは [編集]-[再検出] を行なって、類似画像の検出を 再度行なってください。
A5.
仕様です。
データ追加中はモードの変更、ファイル操作(Save,Load)、
データ追加、ソートを禁止しています。
A6.
仕様です。
同じ類似度が連続しているときは、「削除」・「スキップ」の操作後に、
自動的に次の関係をファイルビューで表示します。
しかし、前回と異なる類似度の時にはファイルビューを表示しません。
(類似度によって、操作時の着目するポイントが異なるので、
操作の慣れによって、うっかり操作を防ぐための措置です)
類似度のソートもしくは、類似度のフィルタリングを行なってから ファイルビューで操作することをお勧めします。
A8.
exe ファイルの場所にある ini ファイルを削除してください。
それでも起動しない場合は、こちらの
連絡先
までご連絡ください。
A9.
ini ファイルで設定できます。
初期設定では、「通常以下」(2)になっています。
通常(デフォルト)の優先度が 3 になります。
3 より大きくするとアプリケーションの UI よりも
スレッド優先になってしまうのでご注意ください。
尚、1 および 0 のときは次の意味になります。
1 : 最低の優先度 0 : 他のスレッドが動いていないときに動作 ------------------------------------------------------------ THREAD_PRIORITY=2 ------------------------------------------------------------ (Version 1.7.0 より書式が変わりました。)
A10.
ini ファイルで設定できます。
行末の文字を書き換えてください。
------------------------------------------------------------ KB_DOUBLE_CLICK=" " KB_LEVEL_PLUS=z KB_LEVEL_MINUS=x KB_REVIEW=r KB_DELETE=d ------------------------------------------------------------ (Version 1.7.0 より書式が変わりました。)
A11.
ini ファイルを編集します。
編集箇所は主に4箇所になります。
モード名の並び指定
キーワード | 説明 |
---|---|
BIN_FILE | 「ファイル - バイナリ」モード |
BIN_DIR_PLAIN | 「フォルダ - バイナリ(簡易)」モード |
BIN_DIR_FULL | 「フォルダ - バイナリ(全て)」モード |
BIN_GROUP | 「フォルダZIP - バイナリ」モード フォルダおよびZIPファイルのバイナリ(MD5)マッチングモードです。 特徴量マッチングも「簡易」、「境界2」、「全て」を選択でき、 簡易モードおよび全てモードの機能を包含します。 |
COLOR_FILE | 「ファイル - カラー」モード |
COLOR_DIR_PLAIN | 「フォルダ - カラー(簡易)」モード |
COLOR_DIR_FULL | 「フォルダ - カラー(全て)」モード |
OPENCV_FILE.(数字) | ファイル用のOpenCV特徴量モードです。 末尾の数字は ACT_MODE_OPENCV(数字)_DETECTOR ACT_MODE_OPENCV(数字)_ETC を指します。 |
OPENCV_DIR_PLAIN.(数字) | フォルダ(簡易)用のOpenCV特徴量モードです。 末尾の数字は ACT_MODE_OPENCV(数字)_DETECTOR ACT_MODE_OPENCV(数字)_ETC を指します。 |
OPENCV_DIR_FULL.(数字) | フォルダ(全て)用のOpenCV特徴量モードです。 末尾の数字は ACT_MODE_OPENCV(数字)_DETECTOR ACT_MODE_OPENCV(数字)_ETC を指します。 |
OPENCV_GROUP.(数字) | フォルダおよびZIPファイルのOpenCV特徴量モードです。 特徴量マッチングも「簡易」、「境界2」、「全て」を選択でき、 簡易モードおよび全てモードの機能を包含します。 末尾の数字は ACT_MODE_OPENCV(数字)_DETECTOR ACT_MODE_OPENCV(数字)_ETC を指します。 |
-- | セパレータ(区切り線) |
------------------------------------------------------------ FRM_MODE_LIST=BIN_FILE, OPENCV_FILE.5, --, BIN_GROUP, OPENCV_GROUP.10 ------------------------------------------------------------ (Version 3.0.0 より変更になりました)
------------------------------------------------------------ ファイル - バイナリ ファイル - SURF ------------------------------ フォルダZIP - バイナリ フォルダZIP - SURF ------------------------------------------------------------ (Version 3.0.0 より変更になりました)
------------------------------------------------------------ ACT_MODE_OPENCV0_DETECTOR=0 ACT_MODE_OPENCV0_ETC=\x30d5\x30a1\x30a4\x30eb - EIGEN, (\x30e2\x30fc\x30c9\x8aac\x660e), .egn_f.simg ACT_MODE_OPENCV1_DETECTOR=1 ACT_MODE_OPENCV1_ETC=\x30d5\x30a1\x30a4\x30eb - Harris, (\x30e2\x30fc\x30c9\x8aac\x660e), .hrr_f.simg ACT_MODE_OPENCV2_DETECTOR=2 ACT_MODE_OPENCV2_ETC=\x30d5\x30a1\x30a4\x30eb - FAST, (\x30e2\x30fc\x30c9\x8aac\x660e), .fst_f.simg ACT_MODE_OPENCV3_DETECTOR=3 ACT_MODE_OPENCV3_ETC=\x30d5\x30a1\x30a4\x30eb - STAR, (\x30e2\x30fc\x30c9\x8aac\x660e), .str_f.simg ACT_MODE_OPENCV4_DETECTOR=4 ACT_MODE_OPENCV4_ETC=@Invalid() ACT_MODE_OPENCV5_DETECTOR=5 ACT_MODE_OPENCV5_ETC=\x30d5\x30a1\x30a4\x30eb - SURF, (\x30e2\x30fc\x30c9\x8aac\x660e), .srf_f.simg ACT_MODE_OPENCV6_DETECTOR=6 ACT_MODE_OPENCV6_ETC=\x30d5\x30a1\x30a4\x30eb - MSER, (\x30e2\x30fc\x30c9\x8aac\x660e), .msr_f.simg ACT_MODE_OPENCV7_DETECTOR=7 ACT_MODE_OPENCV7_ETC=\x30d5\x30a1\x30a4\x30eb - ORB, (\x30e2\x30fc\x30c9\x8aac\x660e), .orb_f.simg ACT_MODE_OPENCV8_DETECTOR=5 ACT_MODE_OPENCV8_ETC=\x30d5\x30a9\x30eb\x30c0 - SURF(\x7c21\x6613), (\x30e2\x30fc\x30c9\x8aac\x660e), .srf_dp.simg ACT_MODE_OPENCV9_DETECTOR=5 ACT_MODE_OPENCV9_ETC=\x30d5\x30a9\x30eb\x30c0 - SURF(\x5168\x3066), (\x30e2\x30fc\x30c9\x8aac\x660e), .srf_df.simg ------------------------------------------------------------
FRM_MODE_LIST で指定されるOpenCV の指定が
OPENCV_FILE.5,
OPENCV_DIR_PLAIN.8,
OPENCV_DIR_FULL.9
のみなので、有効な数字は 5, 8, 9 のみです。
また、それぞれの検出器の番号が 5 のみと、同じ USER5_DETECTOR の SURF 特徴量を用います。
FRM_MODE_LIST を以下のように変更すると、 ファイルモードで OpenCV のアルゴリズム(固有値, Harris, FAST, STAR, SURF, MSER, ORB) を試せます。
------------------------------------------------------------ FRM_MODE_LIST=BIN_FILE, COLOR_FILE, OPENCV_FILE.0, OPENCV_FILE.1, OPENCV_FILE.2, OPENCV_FILE.3, OPENCV_FILE.5, OPENCV_FILE.6, OPENCV_FILE.7, --, BIN_DIR_PLAIN, COLOR_DIR_PLAIN, OPENCV_DIR_PLAIN.8, --, BIN_DIR_FULL, COLOR_DIR_FULL, OPENCV_DIR_FULL.9 ------------------------------------------------------------
アルゴリズム | パラメータ |
---|---|
固有値 cv::GoodFeaturesToTrackDetector() |
|
Harris cv::GoodFeaturesToTrackDetector() |
|
FAST cv::FastFeatureDetector() |
|
STAR cv::StarFeatureDetector() |
|
MSER cv::MserFeatureDetector() |
|
ORB cv::OrbFeatureDetector() |
|
------------------------------------------------------------ USER0_DETECTOR=EIGEN, 1000, 0.01, 1.0, 3, 0.04 USER0_FS=256, 256, 10, 10, 8, 40, 0.90, 0 USER1_DETECTOR=HARRIS, 1000, 0.01, 1.0, 3, 0.04 USER1_FS=@Invalid() USER2_DETECTOR=FAST, 1, true USER2_FS=@Invalid() USER3_DETECTOR=STAR, 16, 30, 10, 8, 5 USER3_FS=@Invalid() USER4_DETECTOR=@Invalid() USER4_FS=@Invalid() USER5_DETECTOR=SURF, 400, 3, 4 USER5_FS=@Invalid() USER6_DETECTOR=MSER, 5, 60, 14400, .25, .2, 200, 1.01, .003, 5 USER6_FS=@Invalid() USER7_DETECTOR=ORB, 700, 1.2, 3, 31, 0 USER7_FS=@Invalid() USER8_DETECTOR=@Invalid() USER8_FS=@Invalid() USER9_DETECTOR=@Invalid() USER9_FS=@Invalid() ------------------------------------------------------------
キーワード | 意味 |
---|---|
IMGF_MAX_SIZE_W_DEF | 画像の最大サイズ(幅) 画像の最大サイズ(幅もしくは高さ)を超えるときに、このサイズにリサイズして処理します。 0 以下の場合はリサイズを行いません。 |
IMGF_MAX_SIZE_H_DEF | 画像の最大サイズ(高さ) 画像の最大サイズ(幅もしくは高さ)を超えるときに、このサイズにリサイズして処理します。 0 以下の場合はリサイズを行いません。 |
IMGF_W_DIV_DEF | 座標 x の標本化時の分割数 [0 画素数) から [0 IMGF_W_DIV_DEF) の範囲に落とし込みます。 |
IMGF_H_DIV_DEF | 座標 y の標本化時の分割数 [0 画素数) から [0 IMGF_H_DIV_DEF) の範囲に落とし込みます。 |
IMGF_A_DIV_DEF | 角度の標本化時の分割数 [0 2π) から [0 IMGF_A_DIV_DEF) の範囲に落とし込みます。 |
IMGF_N_LIMIT | 特徴点の取得時の制限数 IMGF_N_LIMIT, IMGF_SIZE_LIMIT_RATE は OR 条件 |
IMGF_SIZE_LIMIT_RATE | 特徴点の取得時の制限、累積面積による制限 特徴点の面積(size*size)の累積が、リサイズ画像の面積(幅*高さ)*IMGF_SIZE_LIMIT_RATE を越えた時点で、他の特徴点を破棄します。 IMGF_N_LIMIT, IMGF_SIZE_LIMIT_RATE は OR 条件 |
IMGF_GAUSSIAN_DEF | 標本化時のガウス分布処理 0 は効果なし 3 は 3x3 ガウス分布を付与 |
------------------------------------------------------------ IMGF_MAX_SIZE_W_DEF=256 IMGF_MAX_SIZE_H_DEF=256 IMGF_W_DIV_DEF=10 IMGF_H_DIV_DEF=10 IMGF_A_DIV_DEF=8 IMGF_N_LIMIT=40 IMGF_SIZE_LIMIT_RATE=0.9 IMGF_GAUSSIAN_DEF=0 ------------------------------------------------------------
A12.
旧バージョンから御利用されている方で、新バージョン(exe)を上書きして
iniファイルをそのまま利用されている場合は、「フォルダ−バイナリ」モードが表示されません。
手作業で ini ファイルを編集するか、iniファイルを削除してください。
最も簡単に「フォルダ−バイナリ」モードを追加するには、
FRM_MODE_LISTの末尾に ",BIN_GROUP" を追加してください。
途中に挿入する場合は、関連する3つの項目にも同じindex位置に値を挿入してください。
どうしても上手く起動できないときは、ini ファイルを削除して、起動してください。
[モード(「フォルダ−バイナリ」)の追加] 方法
モードを追加するには、以下の各リストを同時に編集する必要があります。
------------------------------------------------------------ FRM_MODE_LIST GRP_SIM_TYPE_LIST VIEW_SIM_VAL_VALID_LIST VIEW_SIM_VAL_LIMIT_VIEW_LIST VIEW_SIM_VAL_LIMIT_EDGE_LIST ------------------------------------------------------------
値 | 意味 |
---|---|
1 | 「先頭」を表わします。 フォルダ・zip内の先頭画像のみで類似検索します。 「簡易」モードと同義です。 |
2 | 「境界2」を表わします。 フォルダ・zip内の先頭から2つ、末尾から2つの計4つの画像で類似検索します。 比較時に画像数が異なる場合、多い方の境界も新たに検索対象に加えます。 |
3 | 「全て」を表わします。 フォルダ・zip内の全画像で類似検索します。 「全て」モードと同義です。 |
A13.
Version 3.0.0 より、
ini ファイルの無い初期ユーザや
オプションメニューの「初期状態に戻す」を選択した場合、
メニューのモード欄に
以下のモードがデフォルトで表示されません。
どうしても、上記の旧モードを利用したい場合は、
simg.ini ファイルを編集します。
「Q12. モード「フォルダ−バイナリ」が表示されません」
を参考にモードを追加してください。
カラーモードの追加例を下記に示します。
(モードの末尾に「フォルダ−カラー(簡易)」「フォルダ−カラー(全て)」を追加します)
------------------------------------------------------------ FRM_MODE_LIST=BIN_FILE, OPENCV_FILE.5, --, BIN_GROUP, OPENCV_GROUP.10, --, COLOR_DIR_PLAIN, COLOR_DIR_FULL GRP_SIM_TYPE_LIST=2, 2, 2, 2, 2, 2, 2 VIEW_SIM_VAL_VALID_LIST=0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8 VIEW_SIM_VAL_LIMIT_VIEW_LIST=0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8 VIEW_SIM_VAL_LIMIT_EDGE_LIST=0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7 ------------------------------------------------------------
A11.
ini ファイルを編集することでツールバーをカスタマイズできます。
関連するキーワードは TOOLBAR_*_ID です。
キーワード | 説明 |
---|---|
TOOLBAR_SYS_ID | ツールバー「システム」 |
TOOLBAR_BIN_ID | ツールバー「バイナリモード」 |
TOOLBAR_OPENCV_ID | ツールバー「OpenCVモード」 |
TOOLBAR_USER0_ID | ツールバー「ユーザ0」。 デフォルトでは非表示です。 |
TOOLBAR_USER1_ID | ツールバー「ユーザ1」。 デフォルトでは非表示です。 |
TOOLBAR_USER2_ID | ツールバー「ユーザ2」。 デフォルトでは非表示です。 |
これらのキーワードに対して、ツールバーボタンのID(下記)を リスト形式、カンマ+半角スペース(", ")区切りで表記します。
ID | 該当するメニュー項目 |
---|---|
FILE_LOAD | [ファイル]-[読み込み] |
FILE_SAVE | [ファイル]-[保存] |
FILE_ADD | [ファイル]-[データの追加] |
FILE_CLEAR | [ファイル]-[データクリア] |
FILE_CLEAR_ALL | [ファイル]-[全データクリア] |
EDIT_UNDO | [編集]-[元に戻す] |
EDIT_REDO | [編集]-[やり直し] |
EDIT_RE_THUMB | [編集]-[サムネイル 更新] |
EDIT_RE_VIEW | [編集]-[テーブル表示 更新] |
EDIT_RE_EDGE | [編集]-[類似 更新] |
EDIT_RE_NODE | [編集]-[ファイル・フォルダ情報 更新] |
EDIT_RE_TARGET | [編集]-[全データ 更新] |
EDIT_NODE_LEVEL_PLUS | [編集]-[ファイル・フォルダ レベル +1] |
EDIT_NODE_LEVEL_MINUS | [編集]-[ファイル・フォルダ レベル -1] |
EDIT_NODE_LEVEL_CUSTOM | [編集]-[ファイル・フォルダ レベル ...] |
EDIT_EDGE_LEVEL_PLUS | [編集]-[類似度 レベル +1] |
EDIT_EDGE_LEVEL_MINUS | [編集]-[類似度 レベル -1] |
EDIT_EDGE_LEVEL_CUSTOM | [編集]-[類似度 レベル ...] |
EDIT_NODE_ZIP | [編集]-[圧縮・解凍] |
VIEW_SIM_TYPE | [表示]-[類似度フィルタ] |
VIEW_SIM_VAL_LIMIT_VIEW | [表示]-[表示 類似度 制限] |
VIEW_SIM_VAL_LIMIT_EDGE | [表示]-[生成 類似度 制限] |
OPT_CLEAR_DUST | [オプション]-[ゴミ箱を空にする] |
HELP_DOC_HTML | [ヘルプ]-[ドキュメント(HTML)...] |
HELP_VERSION | [ヘルプ]-[バージョン] |
-- | セパレータ(区切り線) |
デフォルトでは次のように記述されています。
------------------------------------------------------------ TOOLBAR_SYS_ID=FILE_SAVE, --, EDIT_UNDO, EDIT_REDO, --, EDIT_NODE_ZIP TOOLBAR_BIN_ID=VIEW_SIM_TYPE TOOLBAR_OPENCV_ID=VIEW_SIM_VAL_LIMIT_VIEW, VIEW_SIM_VAL_LIMIT_EDGE TOOLBAR_USER0_ID=@Invalid() TOOLBAR_USER1_ID=@Invalid() TOOLBAR_USER2_ID=@Invalid() ------------------------------------------------------------