栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

基于elasticsearch的图片相似搜索

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于elasticsearch的图片相似搜索

在git上发现有类似的项目
https://github.com/ascribe/image-match/blob/master/docs/source/start.rst
帮助文档地址是
https://image-match.readthedocs.io/en/latest/start.html。

需要先建立索引

import osimport hashlibfrom elasticsearch import Elasticsearch, ConnectionError, RequestError, NotFoundErrorfrom image_match.elasticsearch_driver import SignatureESDOC_TYPE = 'image'MAPPINGS = {  "mappings": {    DOC_TYPE: {      "dynamic": True,      "properties": {        "metadata": {            "type": "object",            "dynamic": True,            "properties": {                "tenant_id": { "type": "string", "index" : "not_analyzed"   }            }        }      }    }  }}def setup_index():    es = Elasticsearch()    try:        es.indices.create(index="images",  body=MAPPINGS)    except RequestError as e:        if e.error == u'index_already_exists_exception':            es.indices.delete(index_name)        else:            raisesetup_index()

然后dump数据

from elasticsearch import Elasticsearchfrom image_match.elasticsearch_driver import SignatureESes = Elasticsearch()ses = SignatureES(es)ses.add_image('https://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Mona_Lisa,_by_Leonardo_da_Vinci,_from_C2RMF_retouched.jpg/687px-Mona_Lisa,_by_Leonardo_da_Vinci,_from_C2RMF_retouched.jpg')ses.add_image('https://pixabay.com/static/uploads/photo/2012/11/28/08/56/mona-lisa-67506_960_720.jpg')ses.add_image('https://upload.wikimedia.org/wikipedia/commons/e/e0/Caravaggio_-_Cena_in_Emmaus.jpg')ses.add_image('https://c2.staticflickr.com/8/7158/6814444991_08d82de57e_z.jpg')

索引结果如下


然后进行检索

ses.search_image('https://pixabay.com/static/uploads/photo/2012/11/28/08/56/mona-lisa-67506_960_720.jpg')

返回结果如下, dist越小越好。

[ {'dist': 0.0,  'id': u'AVM37oZq0osmmAxpPvx7',  'metadata': None,  'path': u'https://pixabay.com/static/uploads/photo/2012/11/28/08/56/mona-lisa-67506_960_720.jpg',  'score': 7.937254}, {'dist': 0.22095170140933634,  'id': u'AVM37nMg0osmmAxpPvx6',  'metadata': None,  'path': u'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Mona_Lisa,_by_Leonardo_da_Vinci,_from_C2RMF_retouched.jpg/687px-Mona_Lisa,_by_Leonardo_da_Vinci,_from_C2RMF_retouched.jpg',  'score': 0.28797293}, {'dist': 0.42557196987336648,  'id': u'AVM37p530osmmAxpPvx9',  'metadata': None,  'path': u'https://c2.staticflickr.com/8/7158/6814444991_08d82de57e_z.jpg',  'score': 0.0499953}]

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/245661.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号