findImageとは

findImageは、数ある画像検索ソフトの1つです。

高速化のために、Susieの作成したサムネイルファイル(_THUMBNL.SUE)を利用します。
Susieを使っていない人や、サムネイルファイルを残していない人には、意味のないソフトです。
Susieをこよなく愛して常用している人は、 そこそこの速度でそれなりの精度の検索が可能でしょう。



インストール・アンインストール

インストール
適当なところに置いてください。 .NET frameworkをインストールしていないとmscoree.dllが見つからないと怒ります。 Microsoftの頒布ページからダウンロードしてインストールしてください。
アンインストール
消してください。 "C:\Documents and Settings\ユーザ名\Local Settings\Application Data\" に、findImageの設定ファイルが作られるので、これも消してください。 レジストリには何も書いていません。

findImageの使い方

簡単な検索


  1. 探したい画像ファイルをここにドロップします。 大きい画像のときは、少し準備に時間がかかります。
  2. 検索対象となるフォルダをここにドロップします。 このフォルダの下にある全てのフォルダを検索します。
  3. 検索開始します。 上位100個の結果が表示されます。
  4. 見つかった画像をダブルクリックすると、その絵を表示できます。 検索中でも表示できます。

複数画像の同時検索

別の画像をいくつか、ドロップしてみてください。 ドロップした画像の数だけタブが追加されます。

検索を開始すると、全てのタブの画像をいっぺんに検索します。

フォルダが膨大にあるときは、何回も検索しなおすより、 このように複数の画像を同時にドロップして検索した方が早く済みます。

よくある疑問

同じ画像しか見つからないぞ!!

findImageは類似画像の検索ソフトではなく、 ほとんど同じ画像を高速に探すソフトです。

「この写真に似ている画像を抽出せよ!」という用途ではなく、
「あれ、この絵の原画PSDファイル、どこに置いたっけ?」
というときに探すためのソフトです。

上位100個ほど表示するので、結果として似ている写真も見つかるかもしれませんが、 こうした用途には他のソフトを使う方が良いでしょう。

拡大縮小には耐えられますが、縦横比が変化していると絶対に見つかりません。

同一画像の類似度が100%にならないぞ!

検索にSusieのサムネイルを利用しているため、 自分自身の検索結果が100%にならないことがあります。

これを気持ち悪く感じる人は、高精度な検索を 試してみてください。そうです、僕も気持ち悪く感じる人なのです…。

あるはずの画像が見つからないぞ!

こんなことはできるの?

詳細な説明

ここに、詳細な説明を書こうと思いましたが、もう面倒です… ここまで、我慢して読んだ人なら、 きっとこれ以上の説明を聞かなくてもなんとか使えるのではないかと…

高精度な検索

「検索した画像と同じ画像ファイルの類似度が100%にならない!」
とお嘆きの貴兄は、以下の方法で検索画像を設定してください。

検索画像画像をドロップするのではなく、 「その画像を含んだSusieのサムネイルファイル」をドロップします。

「Susieで開いたサムネイル画像からドロップする」のではなく、 「エクスプローラを使って、_THUMBNL.SUEファイルをドロップ」します。
そうすると、findImageがSusieのサムネイル一覧を表示するので、 その中から検索したい画像を選択してください。

こうやって検索画像を設定すれば、同一画像の類似度は100%になります。

なぜ、こんな面倒なことをする必要があるのかは... 動作原理を見てください。

findImageの動作原理

高速化のためにfindImageは、 Susieのサムネイルファイル「だけ」を使って画像を検索します。

したがって、Susieのサムネイルが最新でないと、 「あるはずの画像が見つからない」とか「見つかった画像の実物が存在しない」 ということが起きます。

また、8bitのサムネイルには対応していません。 8bitのサムネイル内に該当のファイルがあっても、無視されます。 サムネイルは16bitか24bitで作りましょう。

サムネイルのサイズが小さい場合や、異なるサイズのサムネイルが混在する精度が落ちます。96画素24bitのサムネイルのとき、精度は最高になります。

「これから検索しようする画像」はfindImageが自分で縮小して比較用のサムネイルを作ります。この縮小方法がSusieと同一ではありません(再現しようと努力したのですが、挫折しました)。そのため、同一ファイルにもかかわらず類似度が100%にならなかったり、あまり似ていない画像が上位に来ることがあります。そこで高精度な検索に書いたように、Susieが作ったサムネイルから検索する方法があります。これなら、同一画像なら100%になりますし、似ていない画像が上位に来ることもなくなります


雑談

はじめてC#を使いました。 Visual Studio 2008 Express Editionはすごく使いやすいですね。タダだし。

でもExpress Editionではインストーラが作れません。アイコンエディタもないですね。 えーと、.NET compact frameworkをやろうとすると…Professional Editon以上が必要… 9万円!?高っ!

洋ミケ以来 3年ぶりに何か作りました。 また何か作ってみたいです。やっぱり3年後くらいに?

振り返ってみると、僕はいままで1つのプラットフォームでは、 たいてい1つしかプログラを作っていません。C#もこれっきりだったりして… いや、そんなことはない! 本当に作りたかったプログラムは他にあるのです。 findImageはC#の練習の過程で出来たオマケです。

「俺、findImageが終わったら、本命のソフトを作るんだ…」

そう言って彼は、寝不足にもかかわらずまたCivilization Revolutionを立ち上げるのであった…


findImageについて

findImageの著作権は放棄していませんが、自由に無断で利用、再配布してかまいません。

正常に動作することを目指して作成していますが、バグもあると思います。
バグを見つけたら連絡してくださると助かります。

findImageにより、もしあなたが損害を受けても保障できません。 そんな事がおきないように作っていますが、 心配な人は使わないでください。

ソースコードはKPL(Kamo General Public License)に従って配布しようと思ったのですが、 KPLが永遠に完成しません。 ソースコードの著作権も放棄しませんが、何かの参考になるかもしれないので、 添付しておきます。


履歴

2009年1月12日 v1.0
最初の公開バージョン

連絡先

スパムメールがすっごく多いので、読み落とすことがあります。しばらく返事がなかったら、もう一度メールを送ってください。すいません…