
hashsearch - 知覚ハッシュを使用した逆画像検索。 ?Hashsearchは、知覚的なハッシュを使用する軽量で使いやすいリバース画像検索エンジンです。
最も簡単な方法は、リリースからダウンロードすることです。
ソースコードからhashsearchを作成することもできます。
git clone https://github.com/burntcarrot/hashsearch
cd hashsearch
go build -o ./bin/hashsearch api/v1/main.go hashsearch -config <CONFIG_FILE_PATH>
-configが提供されていない場合、 hashsearch <HOME_DIR>/.hashsearch/config.ymlにデフォルトです。
hashsearch 、構成されたアドレスでサーバーを実行し、APIを公開して対話します。
APIは非常に簡単です。 2つのルート、1つは検索用、もう1つは画像のリストを取得します。
/v1/searchフォームデータを使用して画像を投稿し、画像のリストを取得します(少なくとも最も距離にソートされます):
curl --location --request POST ' localhost:8081/v1/search '
--form ' file=@"star.png" '応答:
[
{
"path" : " files/star.png " ,
"distance" : 0 ,
"hash" : " 0000000000010000111100001111110011111100111100000001000000000000 "
},
{
"path" : " files/star-new.png " ,
"distance" : 4 ,
"hash" : " 0001000000110000111100001111110011111100111100000011000000010000 "
},
{
"path" : " files/random.png " ,
"distance" : 28 ,
"hash" : " 0000000110000000110000100010001111110010010001100000011110000110 "
}
]/v1/listすべての画像のリストを取得します:
curl --silent 'localhost:8081/v1/list'
応答:
[
{
"path" : " files/random.png " ,
"distance" : 0 ,
"hash" : " 0000000110000000110000100010001111110010010001100000011110000110 "
},
{
"path" : " files/star-new.png " ,
"distance" : 0 ,
"hash" : " 0001000000110000111100001111110011111100111100000011000000010000 "
},
{
"path" : " files/star.png " ,
"distance" : 0 ,
"hash" : " 0000000000010000111100001111110011111100111100000001000000000000 "
}
]構成ファイルは単純な.yamlファイルです。
db :
url : " data.db " # Database URL.
server :
addr : " localhost:8081 " # Server address.
files :
dir : " /files " # Directory where the images would be saved.
cors :
allow_origin : " * " # CORS Allow-Origin value.
logging :
file : " /hashsearch.log " # Log file path. /v1/searchルートを使用して画像をアップロードします。
hashsearchあなたの画像のコピーを作成しますhashsearch 、 FILES_DIRにコピーされた画像を保存します。hashsearch 、画像を投稿するときにハッシュを生成し、データベースに保存しますhashsearch 、投稿された画像と他の画像の間の距離を計算し、JSON応答として結果を返します小規模なアプリケーションがあり、大規模な依存関係/システムを使用したくない場合は、これは正常に機能するはずです。
それは最良の解決策ですか?そうではありませんが、迅速で簡単な解決策が必要な場合は、これで十分です。
それは速く燃えていますか?繰り返しますが、これについてはわかりません。大きな画像のセットでテストしていません。
hashsearch 、MITライセンスに基づいてライセンスされています。
このプロジェクトの背後にあるインスピレーションの1つであるように見えます。
これは、ほとんどの分野で逆の画像検索がどのように実装されるかではありません。知覚的なハッシュで楽しんだりしたかっただけです。
ほとんどの場合、平均的なハッシュは問題ありませんが、一部の領域では苦労しているため、より良い選択肢はDhash/Phashを使用することです。
私はリバースビデオ検索に積極的に取り組んでいます。それが将来のリリースの一部になることを期待してください。
素敵で小さなWeb UIもまもなく追加されます。