ToolActToolAct

Outil de Conversion en Niveaux de Gris

Convertir des images en noir et blanc, supporte le traitement par lot

Télécharger des images

Glissez les images ici, ou cliquez pour sélectionner des fichiers

Supporte les formats JPG, PNG, WebP, BMP, GIF, sélection multiple à la fois

Qu'est-ce que la conversion en niveaux de gris ?

La conversion en niveaux de gris retire les informations de couleur et représente l’image uniquement avec du noir, du blanc et des gris. Un bon résultat ne se limite pas à faire la moyenne du rouge, du vert et du bleu; on utilise souvent une formule pondérée comme R×0.299 + G×0.587 + B×0.114, car l’œil humain perçoit le vert plus fortement que le bleu. Cela préserve mieux luminosité, contraste et détails. La conversion sert à la photo noir et blanc, aux scans de documents, aux photos d’identité, aux tests d’impression, au design vintage et à l’analyse d’image. Pour graphiques, cartes ou interfaces codés par couleur, il faut vérifier la perte de sens.

Guide d'utilisation

Comment utiliser

  1. Glissez ou cliquez pour téléverser des images (sélection multiple possible)
  2. Cliquez sur « Convertir » pour le traitement par lot
  3. Consultez les résultats, téléchargez un par un ou en une seule fois

Avant le téléchargement

  • Prévisualisez le résultat à taille réelle lorsque le contraste compte ; la conversion en niveaux de gris peut masquer des avertissements ou étiquettes colorés.
  • Conservez l'image originale si le fichier sert à une revue de design, ou à des documents médicaux, juridiques ou produits.

Cas d’utilisation

Convertir des images en niveaux de gris directement dans le navigateurDéposez une ou plusieurs images et traitez-les avec le canevas en utilisant les coefficients de luminance standard 0,299 rouge, 0,587 vert et 0,114 bleu issus de la Rec. 601. Passez aux coefficients Rec. 709 (0,2126, 0,7152, 0,0722) lorsque la source est une vidéo HD, car l’ancienne formule peut rendre les ciels bleus trop clairs.
Comparer les tailles des fichiers original et en niveaux de grisChaque élément traité conserve ses dimensions, sa taille originale, la taille du PNG généré et son statut pour décider si la sortie en niveaux de gris convient pour des documents ou des aperçus. Le contraste perçu diminue généralement après la conversion, il est donc utile de comparer le résultat à côté de l’original avant d’approuver une épreuve d’impression.
Télécharger uniquement les résultats convertis nécessairesEnregistrez un seul fichier _grayscale.png ou téléchargez toutes les images en niveaux de gris terminées, tandis que les éléments échoués ou en attente restent disponibles pour un nouveau passage. Conservez les originaux lorsque la couleur porte un sens ou qu’une retouche pourrait être nécessaire.
Préparer des photos d’identité ou de documents pour des impressionsConvertissez un portrait en niveaux de gris après la suppression du fond pour vérifier la version noir et blanc imprimée, car certains organismes exigent encore des photos monochromes pour certains types de documents. L’aperçu en niveaux de gris facilite également le jugement sur la pureté du blanc du fond avant que le service d’impression ne rejette le fichier.
Conserver les originaux lorsque la couleur encode une informationÉvitez d’écraser les captures de tableaux de bord, de cartes thermiques ou de graphiques avec le PNG en niveaux de gris, car retirer la couleur supprime aussi les informations de légende dont ces visuels dépendent pour une interprétation correcte. Les outils d’accessibilité peuvent simuler le daltonisme séparément, une copie monochrome dédiée n’étant que rarement un substitut approprié du graphique original.

Principe technique

La conversion en niveaux de gris transforme chaque pixel de l'espace colorimétrique RGB en une seule valeur de luminance représentant la luminosité perçue. Cet outil utilise la méthode de luminosité (aussi appelée moyenne pondérée), définie par la norme ITU-R BT.601 pour la télévision en définition standard : Gray = R × 0,299 + G × 0,587 + B × 0,114. Ces coefficients reflètent la sensibilité du système visuel humain — les cellules en cônes de la rétine sont environ sensibles à 64 % au rouge (cônes L), 32 % au vert (cônes M) et 2 % au bleu (cônes S) — et les poids approximent la contribution de luminance de chaque canal à la luminosité perçue. Le vert domine à 58,7 % car la vision humaine est la plus aiguë dans la région vert-jaune du spectre (~555 nm). À titre de comparaison, d'autres méthodes courantes de conversion en niveaux de gris produisent des résultats différents. La méthode de la moyenne (Gray = (R + G + B) / 3) traite tous les canaux de manière égale et produit des rouges anormalement sombres et des bleus anormalement clairs. La méthode de désaturation dans l'espace colorimétrique HSL/HSV met la saturation à zéro, ce qui est perceptuellement plus précis que la moyenne mais moins précis que la pondération de luminosité. La méthode Luma de l'ITU-R BT.709 (norme HDTV) utilise des coefficients légèrement différents (0,2126, 0,7152, 0,0722) plus adaptés aux écrans modernes avec un point blanc différent. Les coefficients BT.601 utilisés ici restent les plus largement implémentés et produisent des résultats d'aspect naturel sur la plus large gamme d'images sources. Le pipeline de traitement s'exécute entièrement dans le navigateur. L'image téléchargée est décodée par le décodeur d'image natif du navigateur (supportant JPEG, PNG, WebP, BMP et GIF) en un HTMLImageElement. L'image est dessinée sur un élément Canvas via ctx.drawImage(), ce qui déclenche le compositeur accéléré par GPU du navigateur pour effectuer la conversion d'espace colorimétrique et le redimensionnement. getImageData() lit le tampon de pixels RGBA brut sous forme de Uint8ClampedArray — chaque pixel occupe 4 octets consécutifs (R, G, B, A), la longueur du tableau est donc largeur × hauteur × 4. La boucle de conversion en niveaux de gris itère avec un pas de 4 (i += 4), calcule la somme pondérée et écrit la même valeur de gris sur les trois canans RGB tout en préservant le canal alpha original. putImageData() réécrit le tampon modifié sur le canvas. Enfin, canvas.toBlob('image/png') encode le résultat en PNG sans perte, et URL.createObjectURL() crée une URL blob: pour le lien de téléchargement. Pour le traitement par lot, chaque image est traitée séquentiellement pour éviter de saturer le fil principal — la boucle attend la promesse de chaque conversion avant de démarrer la suivante. Le canvas est réutilisé d'une image à l'autre plutôt que recréé, évitant la charge d'allocation de textures GPU. Les objets File originaux sont conservés à côté des Blobs en niveaux de gris pour que le nom de fichier de téléchargement puisse être dérivé du nom original avec '_grayscale' en suffixe.

  • Coefficients de luminance ITU-R BT.601 : R × 0,299 + G × 0,587 + B × 0,114 — dérivés de la fonction de luminosité photopique de l'observateur standard CIE 1931, ces poids modélisent la distribution des cellules en cônes de la rétine humaine (L:M:S ≈ 64:32:2) et la sensibilité maximale à 555 nm (vert-jaune).
  • Comparaison des méthodes : la moyenne (R+G+B)/3 produit des rouges sombres et des bleus clairs ; la désaturation (HSL S=0) est meilleure mais pas perceptuellement uniforme ; la Luma BT.709 (0,2126R + 0,7152G + 0,0722B) est plus précise pour les écrans HDTV mais les poids BT.601 utilisés ici sont les plus largement supportés par les navigateurs et outils d'image.
  • Pipeline de pixels du canvas : drawImage() → le compositeur GPU décode et redimensionne → getImageData() lit le Uint8ClampedArray RGBA → boucle de somme pondérée par pixel (pas 4, i += 4) → putImageData() réécrit → toBlob('image/png') encode en PNG sans perte → createObjectURL() pour le téléchargement.
  • Préservation du canal alpha : l'octet alpha (index i+3) est lu mais non modifié — les pixels transparents restent transparents et les valeurs alpha d'origine passent inchangées, ce qui est important pour les images PNG avec transparence ou des contours anti-aliasés.
  • Traitement par lot séquentiel : chaque image est traitée une à la fois via await pour éviter de saturer le fil principal — l'élément canvas est réutilisé entre les images et les objets File sont conservés pour que les noms de fichiers de téléchargement puissent être dérivés des noms originaux avec '_grayscale' en suffixe.
  • Considération gamma : les coefficients BT.601 sont appliqués aux valeurs sRGB encodées en gamma, pas aux intensités lumineuses linéaires — c'est l'approche standard et elle produit des résultats visuellement corrects pour l'affichage, mais les applications nécessitant des mesures de lumière physique (imagerie scientifique, photométrie) doivent d'abord linéariser les valeurs sRGB.
  • Gestion de la mémoire : chaque Blob en niveaux de gris est conservé en mémoire via une URL objet jusqu'à ce que l'image soit supprimée ou la page fermée — appeler URL.revokeObjectURL() lors de la suppression empêche les fuites mémoire, et la mémoire du Blob est libérée quand plus aucune référence n'existe.

Exemples

Conversion de portrait photo

Téléverser une photo de portrait en couleur → Cliquer sur convertir → Obtenir un portrait artistique en noir et blanc

Traitement de photo d'identité

Téléverser une photo d'identité en couleur → Convertir en noir et blanc → Répondre à certaines exigences de photo d'identité

Artistique paysage photographique

Téléverser une photo de paysage → Convertir en noir et blanc → Mettre en valeur la lumière, l'ombre et la composition

FAQ

L'image est-elle traitée localement ?

Oui. La conversion utilise une opération canvas dans votre navigateur. Les octets de l'image ne sont pas téléchargés. Vous pouvez le confirmer dans l'onglet Réseau.

Quelle formule de niveaux de gris utilise-t-il ?

Par défaut, la formule de luminance perceptuelle : gray = 0.299·R + 0.587·G + 0.114·B (BT.601). Cela correspond à la façon dont l'œil humain perçoit la luminosité : le vert contribue le plus. Certaines pages exposent également BT.709 (0.2126/0.7152/0.0722, utilisé en TVHD) et la « moyenne simple ».

Pourquoi mon image en niveaux de gris paraît-elle plate ?

Parce que la couleur véhicule des informations qui se traduisent par le même gris. Deux couleurs distinctes avec une luminance similaire (un rouge et un bleu sarcelle de luminosité égale) deviennent indiscernables. Pour les photographes, un mélange par canal (plus de rouge, moins de bleu) donne parfois plus de contraste que la formule standard.

Les couleurs originales sont-elles récupérables ?

Non. La conversion en niveaux de gris est avec perte : les canaux de chrominance sont supprimés. Conservez toujours le fichier couleur original aux côtés de la copie en niveaux de gris.

Quels formats de sortie produit-il ?

PNG par défaut pour préserver la qualité. JPEG et WebP sont généralement proposés pour des fichiers plus petits. L'image en niveaux de gris est toujours stockée en RVB 3 canaux (R=G=B par pixel) dans la plupart des formats ; un véritable stockage à canal unique nécessite un outil plus spécialisé.

Puis-je convertir plusieurs images en lot ?

Déposez plusieurs fichiers à la fois : chacun est traité indépendamment dans le navigateur. La mémoire est la limite pratique ; les très grands lots (des centaines de Mo au total) ralentiront votre navigateur.

Qu'en est-il de la transparence ?

Le canal alpha est préservé. PNG et WebP conservent la transparence d'origine ; le JPEG l'aplatit sur un fond blanc car le JPEG n'a pas d'alpha.