当前位置:   article > 正文

图像检索(花卉)_python+flask制作图像检索系统

python+flask制作图像检索系统

分享一个用基于Pytorch和Flask实现的花卉图像检索系统(Flowers-Retrieval),算法采用的是深度哈希,距离度量的方式利用的是汉明距离。以下是检索系统的界面:

 

 

 

以下是实现该系统的匹配代码的关键方法: 

  1. def match(self, uri, top_k=100):
  2. print(uri)
  3. uri = uri.replace('\\', '/')
  4. f = open('Data/search.txt', 'w')
  5. f.write(uri + ' 0')
  6. f.close()
  7. searchloader = load_data('Data/search.txt')
  8. search_binary = binary_output(searchloader)
  9. search_binary = search_binary.cpu().numpy()
  10. search_binary = np.asarray(search_binary, np.int32)
  11. print(search_binary)
  12. # tensor([[0., 1., 1., 0., 1., 0., 1., 0., 0., 1., 0., 0., 1., 1., 1., 0., 1., 1.,
  13. # 0., 0., 1., 0., 0., 0., 1., 0., 0., 0., 1., 0., 0., 0., 0., 1., 0., 1.,
  14. # 1., 1., 0., 1., 1., 0., 0., 0., 1., 1., 1., 1.]])
  15. # 这里计算与train_binary最相似的一组,查询数据库
  16. query_result = np.count_nonzero(search_binary != self.binary, axis=1) # don't need to divide binary length
  17. sort_indices = np.argsort(query_result)
  18. imlist = [self.imNames[index] for i, index in enumerate(sort_indices[0:top_k])]
  19. rank_dists = [query_result[index] for i, index in enumerate(sort_indices[0:top_k])]
  20. # print(imlist)
  21. print(rank_dists)
  22. for i in range(len(imlist)):
  23. # 获取文件路径后把把反斜杠替换为正斜杠
  24. imlist[i]='Data/Raw/'+imlist[i].replace('\n','')+'.jpg'
  25. print(imlist)
  26. return imlist, rank_dists

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/195116
推荐阅读
相关标签
  

闽ICP备14008679号