
hashsearch - Pencarian gambar terbalik menggunakan hash perseptual. ?HashSearch adalah mesin pencari gambar terbalik yang ringan dan mudah digunakan yang memanfaatkan hash perseptual.
Cara termudah adalah mengunduh dari rilis.
Anda juga dapat membangun hashsearch dari kode sumber:
git clone https://github.com/burntcarrot/hashsearch
cd hashsearch
go build -o ./bin/hashsearch api/v1/main.go hashsearch -config <CONFIG_FILE_PATH>
Jika -config tidak disediakan, hashsearch default ke <HOME_DIR>/.hashsearch/config.yml .
hashsearch menjalankan server pada alamat yang dikonfigurasi dan memperlihatkan API untuk berinteraksi.
API sangat sederhana. Dua rute, satu untuk mencari dan satu untuk mendapatkan daftar gambar.
/v1/searchPosting gambar menggunakan data formulir, dapatkan daftar gambar (diurutkan berdasarkan paling sedikit ke sebagian besar jarak):
curl --location --request POST ' localhost:8081/v1/search '
--form ' file=@"star.png" 'Tanggapan:
[
{
"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/listDapatkan daftar semua gambar:
curl --silent 'localhost:8081/v1/list'
Tanggapan:
[
{
"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 "
}
] File konfigurasi adalah file .yaml sederhana:
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. Anda mengunggah gambar menggunakan /v1/search :
hashsearch membuat salinan gambar Andahashsearch menyimpan gambar yang disalin di FILES_DIR , yang dapat dikonfigurasihashsearch menghasilkan hash saat Anda memposting gambar, dan menyimpannya ke databasehashsearch menghitung jarak antara gambar yang diposting dan gambar lainnya dan mengembalikan hasilnya sebagai respons JSONJika Anda memiliki aplikasi skala kecil, dan Anda tidak ingin menggunakan dependensi/sistem yang besar, ini akan berfungsi dengan baik.
Apakah ini solusi terbaik? Tidak juga, tetapi jika Anda menginginkan solusi yang cepat dan mudah, ini harus cukup baik.
Apakah itu berkobar cepat? Sekali lagi, tidak yakin tentang ini; Saya belum mengujinya pada set besar gambar.
hashsearch dilisensikan di bawah lisensi MIT.
Sepertinya itu adalah salah satu inspirasi di balik proyek ini.
Ini bukan bagaimana pencarian gambar terbalik diimplementasikan di sebagian besar bidang; Saya hanya ingin bersenang -senang dengan hash perseptual.
Hash rata -rata baik untuk kebanyakan kasus, tetapi berjuang di beberapa daerah, jadi pilihan yang lebih baik adalah menggunakan dhash/phash.
Saya secara aktif mengerjakan pencarian video terbalik ; Harapkan itu menjadi bagian dari rilis di masa depan.
UI web kecil yang bagus juga akan segera ditambahkan.