2026-09-12 · Mis à jour le 2026-09-13
Carte de profondeur 16 bits : corriger le banding, vérifier le PNG
Corrigez une carte de profondeur en escalier ou inversée grâce à un test PNG 8 bits vs 16 bits reproductible, un script d’inspection et une checklist Blender.

Dernière mise à jour : 13 septembre 2026. Les mesures d’encodage ci-dessous reposent sur une rampe synthétique, pas sur un banc d’essai de la précision de la profondeur IA.
Votre carte de profondeur paraît lisse dans le navigateur, mais la surface déplacée se couvre de terrasses. Vous exportez un « PNG 16 bits », et rien ne change. Avant de générer une nouvelle image ou d’augmenter la densité du maillage, cherchez l’étape où les valeurs sont devenues des paliers. L’extension du fichier ne suffit pas à répondre à cette question.
Réponse rapide : comment éviter le banding sur une carte de profondeur ?
Utilisez un PNG 16 bits en niveaux de gris exporté directement à partir des valeurs de profondeur en virgule flottante du modèle, si l’application suivante le prend en charge. Évitez de faire passer la carte par un aperçu 8 bits, une capture d’écran, un JPEG ou un compresseur photo. Vérifiez ensuite la profondeur d’échantillon, la plage et les valeurs distinctes du fichier avant de tester le déplacement.
Un conteneur 16 bits ne restaure pas la précision perdue. Dans notre expérience reproductible, une rampe encodée directement en 16 bits a conservé 4096 valeurs distinctes, tandis qu’une rampe 8 bits réenregistrée en 16 bits n’en a conservé que 256. Les deux fichiers 16 bits affichaient pourtant la même profondeur d’échantillon et la plage numérique complète.
Ce que cette méthode corrige, et ce qu’elle ne peut pas corriger
Cette méthode traite la précision d’export et les erreurs d’import courantes. Elle ne transforme pas une profondeur IA relative en distance mesurée, ne révèle pas de géométrie cachée, ne corrige pas une silhouette erronée et ne garantit pas un relief exploitable en fabrication. Une estimation de la profondeur d’une scène et un champ de hauteur sculpté répondent à des besoins différents.
Pour les notions de base, lisez notre introduction aux cartes de profondeur. Pour un export concret, le générateur de carte de profondeur produit par défaut un PNG 16 bits en niveaux de gris, indique si le blanc correspond au proche ou au lointain et propose une option d’inversion.
Son traitement IA conserve les valeurs en virgule flottante jusqu’à l’étape finale d’encodage. Si l’outil signale qu’il a utilisé à la place son approximation par contours et flou, celle-ci part de valeurs 8 bits : son PNG 16 bits contient donc au maximum 256 niveaux.
Faut-il choisir une profondeur en 8 bits, en 16 bits ou en virgule flottante ?
| Votre prochaine tâche | Choisissez, si c’est pris en charge | À vérifier avant de continuer |
|---|---|---|
| Masque rapide ou aperçu approximatif | PNG 8 bits en niveaux de gris | Si l’effet tolère des paliers de valeurs visibles |
| Déplacement lisse à partir d’une profondeur normalisée | PNG 16 bits en niveaux de gris, exporté directement | Que la source n’a pas déjà été réduite à 8 bits |
| Pipeline exigeant des valeurs brutes en virgule flottante | Le format flottant documenté par l’application, souvent EXR | Unités, valeurs invalides, normalisation et convention d’import |
| Outil qui n’accepte que des images 8 bits | Garder un fichier maître haute précision ; exporter une copie 8 bits | Si son aperçu et sa sortie finale conservent assez de détails |
La profondeur d’échantillon d’un PNG se mesure par canal, et non en additionnant tous les canaux. Un PNG RGBA dit « 32 bits » stocke 8 bits dans chacun de ses quatre canaux : une valeur de gris copiée dans chaque canal n’a donc toujours que 256 niveaux possibles. La spécification PNG du W3C autorise en niveaux de gris des profondeurs d’échantillon de 1, 2, 4, 8 et 16 bits ; le PNG n’offre aucun format d’échantillon en virgule flottante.

Le schéma décrit une capacité d’encodage, pas la précision du modèle ni le nombre de valeurs que chaque image doit contenir. Une surface uniforme peut légitimement n’utiliser qu’une seule valeur. Un fichier plus lourd ne prouve pas non plus une meilleure estimation.
Qu’a mesuré notre expérience 8 bits contre 16 bits ?
Nous avons créé une rampe horizontale de 4096 × 64 pixels comportant 4096 valeurs régulièrement espacées de zéro à un. Nous l’avons encodée de trois façons avec NumPy et Pillow, puis nous avons rouvert chaque PNG et mesuré son en-tête, ses valeurs distinctes, sa plage et son erreur normalisée maximale par rapport à la rampe d’origine.
| Chemin d’encodage | Profondeur d’échantillon PNG | Valeurs distinctes décodées | Erreur normalisée maximale | Taille en octets |
|---|---|---|---|---|
| Rampe flottante → 8 bits | 8 | 256 | 0,001953602 | 528 |
| Rampe flottante → 16 bits | 16 | 4096 | 0,000007602 | 848 |
| Rampe flottante → 8 bits → 16 bits | 16 | 256 | 0,001953602 | 819 |
Le troisième chemin multiplie chaque entier 8 bits par 257. Zéro reste zéro et 255 devient 65 535 : la plage semble donc correcte. Cela ne recrée pas pour autant les valeurs intermédiaires perdues lors de la première conversion. C’est pourquoi vérifier seulement la mention « 16 bits » ou le pixel le plus clair laisse passer un mode de défaillance important.

Ces fichiers minuscules contiennent des lignes répétées et se compressent très facilement. Leur taille en octets ne permet pas de prévoir celle d’une photographie. L’expérience isole la quantification ; elle ne compare pas des modèles de profondeur, ne teste pas de rendus Blender et ne mesure pas la qualité d’une gravure physique. Les illustrations WebP de cette page sont des graphiques explicatifs, pas des cartes de précision à télécharger.
Pour reproduire les trois fichiers, installez NumPy et Pillow dans un environnement Python, puis exécutez :
import numpy as np
from PIL import Image
ramp = np.tile(np.linspace(0, 1, 4096), (64, 1))
a8 = np.rint(ramp * 255).astype(np.uint8)
a16 = np.rint(ramp * 65535).astype(np.uint16)
wrapped = a8.astype(np.uint16) * 257
for name, values in [("ramp-8", a8), ("ramp-16", a16),
("ramp-8-in-16", wrapped)]:
Image.fromarray(values).save(name + ".png")
Comment inspecter le PNG que vous avez téléchargé ?
Exécutez ce script sur le fichier téléchargé d’origine, avant qu’une autre application ne le réenregistre. Il utilise les mêmes paquets Python que l’expérience et attend un PNG à un seul canal. Il s’arrête volontairement sur un aperçu RVB au lieu de le convertir en silence en données de profondeur apparemment valides.
from pathlib import Path
import numpy as np
from PIL import Image
path = Path("depth.png")
raw = path.read_bytes()
assert raw[:8] == b"\x89PNG\r\n\x1a\n"
assert raw[12:16] == b"IHDR"
print("PNG sample depth:", raw[24])
print("PNG color type:", raw[25]) # 0 = grayscale
values = np.asarray(Image.open(path))
assert values.ndim == 2, "Inspect the grayscale export, not an RGB preview"
print("Range:", int(values.min()), int(values.max()))
print("Distinct values:", np.unique(values).size)
- Vérifiez qu’il s’agit du fichier en niveaux de gris, pas de l’aperçu coloré.
- Attendez une profondeur d’échantillon de 16 si vous avez demandé un export 16 bits.
- Vérifiez que la plage numérique convient à votre pipeline.
- Jugez les valeurs distinctes selon le contenu ; il n’existe aucun seuil universel.
- Examinez une pente douce, où les plateaux sont les plus faciles à repérer.
- Refaites la vérification après toute conversion susceptible de réduire la précision.
Une image apparemment détaillée qui ne compte que 256 valeurs mérite une enquête, mais c’est un indice, pas un verdict. Un masque volontairement plat peut nécessiter moins de valeurs. À l’inverse, une interpolation peut créer des milliers de valeurs à partir d’une source 8 bits sans retrouver la prédiction d’origine. L’inspection d’un fichier ne peut pas prouver tout son historique de traitement.
Un aperçu presque noir demande lui aussi une interprétation. Une profondeur brute stockée dans une plage numérique étroite peut être valide pour l’application qui doit la lire. Ne normalisez une copie que si l’outil suivant attend une profondeur normalisée ; conservez l’original et toute métadonnée d’échelle. Pour les vérifications de dimensions et de format, notre guide pour inspecter une image explique ce que les propriétés ordinaires d’un fichier peuvent révéler, et ce qu’elles ne peuvent pas révéler.
Pourquoi un bon fichier peut-il quand même sembler faux dans Blender ?
Traitez la carte comme des données numériques. Dans le nœud Image Texture, réglez l’espace colorimétrique sur Non-Color afin qu’aucune transformation d’affichage ne soit appliquée. Reliez l’image à l’entrée de hauteur ou de déplacement appropriée, vérifiez la méthode de déplacement du matériau et assurez-vous que le maillage possède assez de géométrie pour un véritable déplacement.
La documentation Blender sur le déplacement distingue le bump mapping, qui ne modifie que l’ombrage, du véritable déplacement, qui déplace la surface et exige donc une géométrie finement subdivisée. Le bump ne peut pas modifier la silhouette. L’emplacement des menus varie selon les versions : suivez la documentation correspondant à votre installation.

| Symptôme | À examiner d’abord | Test utile suivant |
|---|---|---|
| Terrasses régulières sur une pente douce | Quantification ou conversion intermédiaire en 8 bits | Comparer le fichier téléchargé d’origine avec le fichier importé |
| Un sujet au premier plan apparaît en creux | Convention proche/lointain ou signe du déplacement | Inverser une fois et comparer avec un point connu du premier plan |
| Silhouette en blocs malgré une carte lisse | Géométrie insuffisante ou mode de déplacement incorrect | Tester davantage de géométrie sur une petite zone du maillage |
| Le verre, les cheveux ou les reflets forment des formes étranges | L’interprétation de la scène par le modèle | Comparer l’estimation avec la photo d’origine |
| La carte paraît presque noire dans une visionneuse | Plage numérique ou gestion de l’affichage | Examiner le minimum et le maximum bruts avant d’ajuster les niveaux |
Gardez une échelle de déplacement modeste pendant les tests. Vérifiez le niveau médian (Midlevel), le mappage UV, le recadrage et le rapport d’aspect avant d’augmenter les détails. Si vous modifiez tous les réglages à la fois, il devient difficile d’identifier l’étape responsable de l’erreur.
Liste de contrôle fiable, de l’export à l’import
Avant l’export :
- Conservez ensemble la photo source et la carte de profondeur téléchargée d’origine.
- Choisissez une image où le premier plan se détache nettement de l’arrière-plan.
- Examinez les contours des objets avant de choisir un format d’export.
- Exportez directement en PNG 16 bits en niveaux de gris pour un flux compatible.
- Notez si les pixels clairs signifient proche ou lointain dans cet export.
Après le téléchargement :
- Vérifiez l’en-tête, la plage et les valeurs distinctes du fichier enregistré.
- Importez-le comme données et vérifiez le sens sur un point connu de la scène.
- Testez une petite zone avec une géométrie adaptée avant le rendu complet.
- Gardez un fichier maître haute précision avant toute conversion.
- Enregistrez les réglages efficaces pour comparer les exports suivants.
Ne faites pas passer un fichier maître de profondeur par votre processus habituel de compression d’images. Une image d’affichage plus légère et un champ numérique fiable n’ont pas les mêmes exigences. De même, un agrandisseur IA générique peut inventer une texture qui devient une géométrie indésirable une fois interprétée comme hauteur.
Si la destination est une application de relief ou de gravure, vérifiez séparément sa gestion documentée des échantillons et le sens des niveaux de gris. Cet article n’a pas testé de production sur machine. La profondeur relative à la caméra ne suffit pas, à elle seule, à établir l’épaisseur d’un relief, des unités physiques ou des paramètres de traitement.
Questions fréquentes
La profondeur 16 bits rend-elle l’estimation IA plus précise ?
Non ; elle peut conserver des valeurs de sortie plus fines, mais elle ne corrige pas les erreurs d’interprétation de la scène par le modèle.
Convertir un PNG 8 bits en 16 bits supprime-t-il le banding ?
Changer seulement de conteneur ne restaure pas les valeurs perdues ; un lissage peut adoucir les paliers, mais il modifie le champ de profondeur.
Pourquoi un PNG 16 bits ne contient-il que 256 valeurs distinctes ?
Il est peut-être passé par une étape 8 bits, même si une image simple peut légitimement contenir aussi peu de valeurs.
Le blanc signifie-t-il toujours « proche » sur une carte de profondeur ?
Non ; les conventions varient, alors lisez l’indication proche/lointain de l’outil d’export et vérifiez-la sur un point connu du premier plan.
Peut-on utiliser un JPEG comme carte de déplacement ?
Un moteur de rendu peut l’accepter, mais sa compression avec pertes en fait un mauvais fichier maître pour conserver des valeurs de profondeur précises.
Un PNG RGBA 32 bits est-il plus précis qu’un PNG 16 bits en niveaux de gris ?
Pas pour une carte de profondeur en niveaux de gris ; « 32 bits » RGBA désigne quatre canaux de 8 bits, donc chaque valeur de gris reste limitée à 256 niveaux, sauf si un outil répartit volontairement la profondeur sur plusieurs canaux.
Pourquoi l’aperçu du navigateur semble-t-il identique pour les deux fichiers ?
La conversion d’affichage peut masquer la précision numérique supplémentaire ; inspectez donc les données d’origine et testez-les dans l’application de destination.
Cette carte de profondeur peut-elle fournir des mesures réelles exactes ?
Non ; une estimation relative normalisée n’établit pas de distances physiques et ne restitue pas la géométrie invisible.
Utilisez nos outils gratuits en suivant le guide.
Continuer la lecture

2026-07-26
Convertir HEIC en JPG : Outils gratuits et méthodes par lots comparées
Convertissez des photos HEIC d'iPhone en JPG avec des outils gratuits pour le web, Mac, Windows, iPhone et ligne de commande. Comparaison par vitesse, support par lots et usage optimal.

2026-07-26
Convertir JPG en PDF : Méthodes gratuites et quand les utiliser
Transformez vos photos JPG en PDF pour les formulaires, portfolios et l'impression. Découvrez des étapes réelles pour chaque appareil, la résolution idéale à choisir, et des outils gratuits qui préservent toujours la qualité.
2026-07-26
Convertir PNG en JPG : Quand passer et comment le faire correctement
Convertissez PNG en JPG pour réduire la taille de fichier jusqu'à 80 %. Nous vous expliquons quand conserver la transparence PNG, comment gérer les arrière-plans et les étapes de conversion par lots qui préservent la qualité.