J'ai un problème intéressant. Étant donné une valeur de couleur RVB de pixel (un vecteur, 255 255 255) et une table de base de données de tous les vecteurs historiques connus (couleurs), quel est le moyen le plus efficace/le plus rapide de trouver une correspondance dans le tableau? Par exemple, disons que j'ai un bleu clair (30,144,255) et une table pleine de milliers d'autres couleurs, (mais pas une correspondance exacte avec le bleu ci-dessus) - comment puis-je construire une requête sql pour me trouver le plus proche rencontre? Idéalement, si nous recherchions une correspondance exacte, alors la requête ne retournerait rien mais dans cet exemple le bleu (30,144,255) n'est pas dans la table, donc nous aurions besoin d'un certain degré de tolérance et/ou de distance acceptable de la vecteur fourni. Donc, nous pourrions dire, trouvez-moi un match dans n degrés/pourcentage/quoi que ce soit et nous pourrions ajuster cette tolérance au goût. J'ai vu une logique comme celle-ci exprimée en C#, C++, etc. mais idéalement, je voudrais compenser cela à la base de données et je ne sais pas comment l'exprimer de la manière la plus efficace/la plus rapide.Trouver la correspondance la plus proche au vecteur (RVB) avec une tolérance réglable en SQL?
Merci d'avance!
Merci - dans ce cas, comparer RVB devrait suffire car les yeux humains ne sont pas impliqués. – znelson
Vous aurez toujours envie de trier sur la distance euclidienne '(x-x1)^2 + (y-y1)^2 + (z-z1)^2' au lieu de la distance de Manhattan' | x-x1 | + | y-y1 | + | z-z1 | ' – Anon