ForHosting KIT · Images

Convertissez des pixels RGB en gris par luminance

Transformez des valeurs de rouge, vert et bleu en un gris fidèle à la perception de la luminosité par l'œil : le rouge pur donne 76, le vert pur 150 et le bleu pur 29, tandis qu'un gris neutre de 128 reste à 128. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Convertissez les échantillons RGB d’une image en niveaux de gris sans téléverser de fichier ni utiliser de décodeur. Fournissez un tableau ordonné de pixels avec leurs canaux rouge, vert et bleu ; vous recevez autant de pixels dont les trois canaux portent la valeur grise pondérée par luminance. Le calcul privilégie le vert, puis le rouge et le bleu afin de mieux représenter la luminosité perçue qu’une moyenne simple. Chaque canal est contrôlé : pixel incomplet, valeur non numérique ou hors de 0 à 255 provoque une erreur explicite.

Préparez des enregistrements RGB complets

Ce champ doit être un tableau non vide dont chaque élément est un objet portant les noms canoniques r, g et b. Les canaux peuvent être entiers ou décimaux, mais doivent être finis et compris entre 0 et 255 inclus. Le convertisseur exige chaque canal.

Il ne suppose jamais zéro, ne copie aucun canal et n’ignore aucun pixel, car cela modifierait la luminosité et la correspondance des positions. Conservez l’ordre initial : la sortie le respecte pour reconstruire un tampon, une matrice ou un jeu de test. Une requête accepte cent mille échantillons au maximum ; découpez les images plus grandes en blocs déterministes.

Cette interface traite des échantillons décodés, pas des octets PNG, JPEG ou WebP.

Comprenez le calcul pondéré

Pour chaque échantillon, le gris est l’entier le plus proche de 0.299 fois le rouge plus 0.587 fois le vert plus 0.114 fois le bleu. Ces coefficients totalisent un, préservent les pixels neutres et traduisent la sensibilité visuelle supérieure au vert. Une moyenne simple peut rendre le bleu trop clair et le vert trop sombre.

Après un seul arrondi, la valeur est inscrite dans r, g et b afin de produire un gris RGB neutre. La réponse fournit aussi le nombre et la formule pour faciliter les contrôles. La fonction est pure : aucun réseau, hasard, horloge, modèle externe ou état mutable.

Une entrée identique donne donc toujours une sortie identique. Elle ne linéarise pas le gamma, ne gère pas les profils ICC ou HDR, ne conserve pas l’alpha et n’applique pas de tramage.

Intégrez le résultat en toute sécurité

Utilisez samples comme remplacement positionnel du tableau envoyé. Chaque enregistrement conservant trois canaux, les consommateurs RGB ordinaires peuvent le lire sans format spécialisé. Comparez count au nombre transmis avant de reconstruire lignes, tuiles ou rasters.

Largeur, hauteur, pas de ligne, orientation, alpha et métadonnées restent sous votre responsabilité. Gardez l’alpha séparément puis recombinez-le lors de l’encodage. Considérez les erreurs de canal manquant, nombre non fini, plage ou taille comme des défauts de données, non comme des incidents à réessayer.

Testez noir, blanc, couleurs primaires, gris neutre, décimales et échantillon incomplet.

Construire des tampons en niveaux de gris

Convertissez les échantillons RGB décodés puis replacez-les dans le raster avant encodage.

Quelle formule de gris est appliquée ?

Chaque résultat vaut round(0.299 × r + 0.587 × g + 0.114 × b), puis cette valeur remplit les trois canaux.

Ce service accepte-t-il un fichier image ?

Non. Il reçoit des échantillons RGB déjà décodés ; effectuez décodage et encodage en dehors du service.

La transparence est-elle conservée ?

L’alpha ne fait pas partie du contrat. Gardez-le à part puis réunissez-le avec les canaux convertis.

Pourquoi le bleu pur devient-il bien plus sombre que le vert pur ?

Parce que l'œil perçoit le vert comme bien plus lumineux que le bleu, et la formule donne au vert un poids de 0,587 contre 0,114 pour le bleu. Le vert pur passe à 150, le rouge pur à 76 et le bleu pur à 29.

Que se passe-t-il s'il manque une couleur à un pixel ?

La conversion s'arrête et indique quel pixel et quel canal manquent. Elle ne suppose jamais que la valeur absente vaut zéro et ne copie pas un autre canal, car cela fausserait la luminosité et l'ordre des pixels.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/image/grayscale-convert

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/image/grayscale-convert \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"samples":[{"r":255,"g":0,"b":0},{"r":0,"g":128,"b":255}]}'
{
  "samples": [
    {
      "r": 255,
      "g": 0,
      "b": 0
    },
    {
      "r": 0,
      "g": 128,
      "b": 255
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "image.grayscale_convert",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

max_samples100000
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Préparez des enregistrements RGB complets

Placez les pixels dans le champ JSON samples. Si le vert manque, par exemple, invalid_input indique l’indice et le canal absent.

Intégrez le résultat en toute sécurité

L’exécuteur web partage la même fonction déterministe que l’API. Le navigateur est gratuit et une requête API coûte $0.002.

Créer des fixtures déterministes

Produisez des valeurs attendues exactes pour tester filtres, canvas et traitements de pixels.

Contrôler de petits lots

Collez quelques valeurs RGB dans le navigateur avant d’automatiser le flux par API.

Que se passe-t-il si un canal manque ?

La requête échoue avec invalid_input et précise l’indice commençant à zéro ainsi que le canal r, g ou b absent.

Quel est le prix d’une requête API ?

Une requête coûte $0.002 ; vous pouvez aussi exécuter gratuitement la même conversion dans le navigateur.

Consulter la documentation complète du KIT →