Should you normalize RGB values by 255 or 256?
Deux façons courantes d'encoder les pixels 8 bits en flottant sont de diviser par 255 (qui mappe 0→0 et 255→1) ou d'utiliser (img+0,5)/256 (qui place chaque valeur au milieu de son intervalle). La méthode 255 crée des bins aux extrémités plus étroits et une plage décodée légèrement étirée hors de [0,1], rendant les valeurs extrêmes (0 et 255) environ deux fois moins probables lors d'un arrondi uniforme. La division par 255 introduit de petites imprécisions de virgule flottante (par exemple 128/255 ≈ 0,501961 vs 128/256 = 0,5) mais l'erreur est négligeable en pratique. Théoriquement la division par 256 donne une erreur de quantification légèrement inférieure (MAE 1/1024 vs 1/1020), mais cet avantage n'a de sens que si l'on contrôle à la fois l'encodage et le décodage; décoder des images tierces avec la mauvaise méthode augmente en fait l'erreur. En pratique il est recommandé de normaliser par 255 pour traiter des images externes, et de n'envisager la variante par 256 que si vous contrôlez l'enregistrement et la lecture et acceptez de lier votre traitement à la dynamique 8 bits.