Maison >développement back-end >Tutoriel Python >Comment convertir une plage de nombres tout en préservant le ratio ?

Comment convertir une plage de nombres tout en préservant le ratio ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-09 02:48:02483parcourir

How to Convert a Number Range While Preserving 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ù :

  • OldValue est la valeur d'origine à convertir
  • OldMin et OldMax représentent les valeurs minimales et maximales de la plage d'origine, respectivement
  • NewMin et NewMax représentent respectivement les valeurs minimales et maximales de la nouvelle plage

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn