这是一些伪代码的开始。我强烈建议让 numpy/scipy 来帮助解决这个问题。
#read the input image:
files = glob.glob('*.templates')
listOfImages = []
for elem in files:
imagea = scipy.misc.imread(elem)
listOfImages.append(imagea)
#read input/test imagea
targetImage = scipy.misc.imread(targetImageName)
现在遍历每个 listOfImages 并计算“距离”注意这可能是最难的部分。你将如何判断两张图片是否相似?使用直接像素比较?使用图像直方图,使用一些图像对齐指标(这对您的困难版本很有用)。一些简单的问题,我注意到您上传的图片大小不同。如果图像的大小不同,那么您将不得不扫描图像。另外,图片可以缩放吗?然后你需要要么有一个尺度不变的度量,要么尝试扫描不同的尺度
#keep track of the min distance
minDistance = Distance(targetImage,listOfImages[0])
minIndex = 0
for index,elem in enumerate(listOfImages):
currentDistance = Distance(targetImage,elem)
if currentDistance < minDistance:
minDistance = currentDistance
minIndex = index
距离函数是挑战所在,但我将把它留给你。