25 lines
829 B
Python
25 lines
829 B
Python
import numpy as np
|
|
|
|
|
|
def EuclideanDistance(detected_colors, target_colors):
|
|
return np.linalg.norm(detected_colors - target_colors, axis=1)
|
|
|
|
|
|
def ManhattanDistance(detected_colors, target_colors):
|
|
return np.sum(np.abs(detected_colors - target_colors), axis=1)
|
|
|
|
|
|
def CosineSimilarity(detected_colors, target_colors):
|
|
return np.dot(detected_colors, target_colors) / (np.linalg.norm(detected_colors) * np.linalg.norm(target_colors))
|
|
|
|
|
|
'''def HSV_Color_Similarity(detected_colors, target_colors):
|
|
h1, s1, _ = detected_colors
|
|
h2, s2, _ = target_colors
|
|
|
|
h1_rad, h2_rad = np.radians(h1), np.radians(h2)
|
|
|
|
v1 = np.array([s1 * np.cos(h1_rad), s1 * np.sin(h1_rad)])
|
|
v2 = np.array([s2 * np.cos(h2_rad), s2 * np.sin(h2_rad)])
|
|
|
|
return np.dot(v1, v2) / (np.linalg.norm(v1) * np.linalg.norm(v2))''' |