ForHosting KIT · Images

Extrayez la palette de couleurs dominantes d’une image

Quatre nuances de rouge et de bleu échantillonnées, pour 2 couleurs demandées, donnent deux teintes, #F24538 et #1E89E6, chacune sur 50 des 100 pixels. Les nuances proches fusionnent : vous obtenez une palette courte plutôt que des quasi-doublons. 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
Si vous saisissez
N
2
Vous obtenez
Demandé
2
Renvoyé
2
Pixels totaux
100

Transformez une liste représentative de pixels d’image en une palette de couleurs compacte et exploitable. Cette capacité regroupe les valeurs RGB proches, classe les groupes selon leur présence pondérée et fournit chaque couleur dominante sous forme d’échantillon hexadécimal et de canaux RGB, avec son nombre de pixels et sa part dans l’échantillon transmis. Elle s’adresse aux traitements qui ont déjà échantillonné ou compté les pixels et souhaitent un résumé déterministe sans téléverser ni décoder l’image originale.

Préparez des échantillons de pixels représentatifs

Commencez par des pixels prélevés dans toute l’image, plutôt que dans un seul coin facile d’accès. Chaque enregistrement contient les valeurs des canaux rouge, vert et bleu, comprises entre 0 et 255. Si votre prétraitement a déjà compté les couleurs identiques, ajoutez count à l’enregistrement ; sinon, omettez-le et chaque enregistrement représentera un pixel.

Les enregistrements pondérés sont particulièrement pratiques pour les images comportant de grandes zones uniformes : ils conservent la fréquence réelle sans vous obliger à répéter des milliers de fois le même objet RGB. L’échantillonnage doit être équilibré dans l’espace. Une grille simple, un pas uniforme ou un aperçu réduit donne généralement une meilleure représentation que les premiers pixels dans l’ordre du fichier.

Écartez les pixels transparents, sauf s’ils ont déjà été composés sur le fond visible, car une valeur RGB invisible ne doit pas influencer une palette visible. L’algorithme fusionne les doublons exacts avant le regroupement ; des enregistrements répétés et un enregistrement compté équivalent donnent donc le même résultat.

Comprenez le regroupement déterministe des couleurs

Choisissez n comme nombre maximal de couleurs dominantes souhaité. Il doit s’agir d’un entier au moins égal à 1, et la capacité renvoie moins de couleurs lorsque l’échantillon contient moins de valeurs RGB distinctes. Les centres sont initialisés de façon déterministe à partir d’échantillons fréquents et bien séparés, puis affinés par un regroupement pondéré et borné dans l’espace RGB.

Aucun germe aléatoire, aucune horloge, aucun service réseau et aucun modèle n’intervient : une même entrée produit donc une même sortie. Les nuances proches peuvent rejoindre le même groupe, afin que les artefacts de compression, l’anticrénelage, les dégradés et de légères variations d’éclairage contribuent à un échantillon représentatif au lieu de morceler la réponse. La valeur RGB représentative est la moyenne pondérée du groupe, arrondie à des canaux entiers valides ; sa valeur hexadécimale découle de ces mêmes canaux.

Les groupes sont classés selon le nombre de pixels, avec un départage hexadécimal stable. La distance RGB reste volontairement simple et prévisible : c’est un résumé pratique, non un système perceptuel destiné à l’impression critique.

Exploitez les nombres et les parts en aval

La réponse contient un tableau colors, classé du nombre de pixels représentés le plus élevé au plus faible. Chaque élément comprend hex, un objet RGB, count et share. Le système consommateur peut ainsi contrôler la couverture et distinguer un petit échantillon d’une image largement échantillonnée.

Utilisez le premier échantillon comme approximation de l’accent dominant, mais vérifiez sa part avant de conclure qu’il représente la majorité de l’image. Une couleur de tête proche de la moitié constitue un signal visuel bien plus fort que la première couleur d’une palette équilibrée de cinq teintes. Pour automatiser, conservez toute la liste classée afin de faire évoluer les seuils sans retraiter les échantillons.

Les valeurs invalides et n inférieur à 1 provoquent des erreurs explicites.

Créez des thèmes d’interface adaptatifs

Choisissez les accents, le traitement du texte ou les fonds temporaires dans une palette classée, en utilisant la part pour ne pas survaloriser une couleur mineure.

Étiquetez les images de produits par couleur

Convertissez les pixels échantillonnés du catalogue en caractéristiques chromatiques stables pour les filtres, la recherche de similarité et le contrôle qualité.

Résumez les créations à grande échelle

Conservez des palettes compactes plutôt que les pixels complets pour comparer des campagnes, repérer une dérive visuelle ou préparer des planches d’inspiration.

Pourquoi la réponse peut-elle contenir moins de n couleurs ?

La valeur demandée est un maximum. Si l’entrée comporte moins de valeurs RGB distinctes, seuls les groupes disponibles sont renvoyés.

Dois-je répéter les pixels identiques ?

Non. Fournissez un enregistrement RGB dont count indique la fréquence, ou répétez-le ; les doublons exacts sont fusionnés avec une pondération équivalente.

Les pixels transparents sont-ils acceptés ?

L’entrée contient uniquement des échantillons RGB. Excluez les pixels invisibles ou composez la transparence sur le fond prévu avant de créer la liste.

Comment prélever les pixels de mon image ?

Répartissez l’échantillon sur toute l’image : une grille simple, un pas régulier ou un aperçu réduit conviennent bien. Prendre les premiers pixels du fichier ou un seul coin peut donner une palette qui ne représente pas l’image.

Pourquoi des nuances proches deviennent-elles une seule couleur ?

Les nuances voisines sont regroupées exprès, pour que les traces de compression, les bords adoucis, les dégradés et les petits écarts de lumière renforcent une teinte représentative au lieu de se disperser en entrées presque identiques. Chaque teinte est la moyenne pondérée de son groupe.

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/dominant-palette

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/dominant-palette \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pixels":[{"r":244,"g":67,"b":54,"count":40},{"r":235,"g":76,"b":63,"count":10},{"r":33,"g":150,"b":243,"count":30},{"r":25,"g":118,"b":210,"count":20}]}'
{
  "pixels": [
    {
      "r": 244,
      "g": 67,
      "b": 54,
      "count": 40
    },
    {
      "r": 235,
      "g": 76,
      "b": 63,
      "count": 10
    },
    {
      "r": 33,
      "g": 150,
      "b": 243,
      "count": 30
    },
    {
      "r": 25,
      "g": 118,
      "b": 210,
      "count": 20
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "image.dominant_palette",
  "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_mb15
max_megapixels12
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.

Exploitez les nombres et les parts en aval

Share correspond au nombre du groupe divisé par le total pondéré des pixels ; il est arrondi à six décimales afin de produire un JSON stable. La réponse précise également la taille de palette demandée, le nombre réellement renvoyé et total_pixels. Le navigateur et l’API emploient le même solveur pur ; chaque appel API coûte $0.002.

Combien coûte une requête API ?

Chaque requête API coûte $0.002. Le même solveur déterministe peut également s’exécuter dans le navigateur.

Que se passe-t-il si n est inférieur à 1 ?

La requête échoue avec une erreur invalid_input, car une palette ne peut pas demander moins d’un groupe.

Consulter la documentation complète du KIT →