Eagleにある画像をOCR結果で検索できるようにする
背景
Eagleは使いやすい画像管理ソフトウェアです。
快適な操作性を持ち、フォルダ・タグといった分類を行なって検索ができるため、大量の画像を管理したい場合に重宝します。
ただし、EagleはOCR機能が無いため、画像に含まれる文字で検索することができません。
書かれている文字をNotes...
に記載することで検索できるようになりますが、いちいち入力するのはあまりにも面倒です。
ということで、日本語にも対応しており精度が高いCloud Vision APIを使ってOCR結果で検索できるようにしました。
やったこと
スクリプトはこちらで公開しています。
Eagle内の各画像は、metadata.json
と併せて1フォルダ1画像で格納されます。
このメタデータにannotations
という項目があり、ここに文字列を入力して書き直すとNotes...
の部分に反映されます。
なお、このようにメタデータを書き換えた際は、Force Reload Library
しないとEagleから利用できないので注意しましょう。
画像のあるディレクトリをトラバースした後は、Cloud Vision APIに投げてOCR結果を取得します。
GCPのライブラリ(@google-cloud/vision
)を使うと簡単に実行できます。
対象画像はannotations
を持たない全画像なので、大量の画像がある場合は懸念がありますが、$1.5/1,000枚なので気にしないことにしました。
Wikipediaの画像に対して実行した例はこちらです。
球体にある文字も認識していますが、欲しい文字もちゃんと入っており、日本語相手の精度も十分高いですね。
このように入力されていれば、「ウィキ」などで検索にヒットします。
まとめ
これで文字の入った画像が検索できるようになり、よりEagleが便利に使えるようになりました。
メタデータが簡単にいじれるのは便利ですね。