def getMinHistogram(imageHistograms,targetHistograms): minValue = math.inf minIndex = -1 for i in range(len(imageHistograms)): for target in targetHistograms: val = computeHistogram.compare(imageHistograms[i],target) if val<minValue: minValue = val minIndex = i if minValue > 1.0: return -1 return minIndex
def getMinNHistograms(imageHistograms, targetHistograms, N): distances = [] for index,hist in enumerate(imageHistograms): for target in targetHistograms: distances.append((index, computeHistogram.compare(hist,target))) distances = sorted(distances, key = lambda pair : pair[1]) minHistograms = {} ret = [] for index, _ in distances: if not index in minHistograms: minHistograms[index] = -1 ret.append(index) if len(minHistograms)==N: break return ret
def getBestAffinity(hist): currAffinities = [] for target in targets: currAffinities.append(computeHistogram.compare(hist, target)) return min(currAffinities)