Maison >développement back-end >Tutoriel Python >Comment convertir une plage de nombres tout en préservant le ratio ?
Convertir une plage de nombres tout en préservant le rapport
Mapper une plage de nombres à une autre tout en maintenant les relations proportionnelles peut être une tâche utile dans les données manipulation et traitement d'images. Cette transformation garantit que toutes les valeurs de la plage d'origine sont représentées proportionnellement dans la nouvelle plage.
Pour y parvenir, nous pouvons utiliser la formule suivante :
NewValue = (((OldValue - OldMin) * (NewMax - NewMin)) / (OldMax - OldMin)) + NewMin
où :
Cette formule garantit que le rapport des valeurs est préservé entre les plages d'origine et les nouvelles. En d'autres termes, si une valeur dans la plage d'origine est deux fois plus grande qu'une autre valeur, sa valeur correspondante dans la nouvelle plage sera également deux fois plus grande.
Par exemple, si nous avons un fichier image avec point valeurs allant de -16 000,00 à 16 000,00 et que nous souhaitons les compresser dans la plage entière de 0 à 100, nous pouvons utiliser la formule comme suit :
NewValue = (((OldValue - (-16000.00)) * (100 - 0)) / (16000.00 - (-16000.00))) + 0
Cela garantit que la plage de valeurs d'origine est mappée linéairement à la nouvelle plage, en préservant les rapports entre les valeurs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!