以图搜图的原理:将图片转成向量,而后通过欧式间隔等等比拟向量的间隔,获取两个图片的类似度

那最要害的一步:『将图片转成向量』,如何应用 python 实现呢?

能够应用 image2vector

装置形式很简略

pip install image2vector

用起来就更简略了,你不必关怀任何深度学习的货色,只有指定 image 就能无脑生成图片的向量

from pathlib import Pathfrom typing import Listfrom iv import ResNet, l2# Initialize a residual neural networkresnet: ResNet = ResNet(    weight_file='weight/gl18-tl-resnet50-gem-w-83fdc30.pth')# Generate a vector of specified images# The generated vector is a List[float] data structure,# the length of the list is 512, which means the vector is of 512 dimensionsvector_1: List[float] = resnet.gen_vector('example-1.jpg')vector_2: List[float] = resnet.gen_vector('example-2.jpg')# Compare the Euclidean distance of two vectorsdistance: float = l2(vector_1, vector_2)print('Euclidean Distance is ', distance)

参考:

  • 如何应用 resnet 生成图片向量?
  • image2vector github
  • pypi image2vector