Je voudrais réduire le nombre de teintes dans mon image plate de la gamme complète à seulement quatre, mais je voudrais conserver la valeur / luminosité (et si possible, la saturation également). Je veux quatre teintes parce que je pense que ça aura l'air cool.
J'ai essayé d'utiliser un calque de réglage de la teinte, mais lorsque je l'ai utilisé, il n'a déplacé la plage que lors de la conversion, de sorte qu'une plage a été convertie en une autre plage avec de nombreuses couleurs. Je veux décaler une plage spécifiée à convertir en la même teinte tout en préservant la valeur / luminosité (et peut-être même la saturation, si cela est possible).
J'utilise Photoshop CS5
Ce sont les quatre valeurs de teinte HSB / HSV que je veux utiliser:
- 333
- 58
- 193
- 242
Voici comment je voudrais convertir les teintes:
Remarque: j'ai modifié cette question depuis la première publication. Au départ, j'ai demandé à tort que les intervenants réduisent l'image à quatre valeurs RVB , tout en conservant simultanément les teintes / valeurs dans l'image source. Ceci, cependant, est une tâche impossible, car les valeurs RVB contiennent des teintes / luminosité ET des teintes; en teinte et teinte RVB sont inextricablement liées.
Heureusement, @Wolff a pu comprendre ce que je voulais dire, malgré ma mauvaise formulation, et avec @Danielillo, @Ryan et @Emilie, il m'a aidé à comprendre que ce que je demandais vraiment était de cibler quatre teintes, pas quatre RVB valeurs. Il a ensuite identifié les quatre teintes présentes dans mes valeurs RVB (en HSB / HSV). Ces valeurs HSB / HSV sont maintenant celles que je demande aux répondants de cibler dans la conversion d'image (pas RVB).
De plus, comme indiqué par @Wolff, dans la première version de mon article, je n'ai pas précisé comment convertir le spectre HSB complet (je n'avais pas de plages de type magenta). La question mise à jour inclut également cette plage précédemment omise.
Pour ceux qui veulent comprendre la racine de la confusion (exprimée à juste titre par certains utilisateurs qui ont fourni des réponses alternatives), voici les 4 valeurs RVB d'origine que j'ai publiées:
Mise à jour de clarification: veuillez savoir que mon intention est uniquement pour l'écran, pas pour l'impression. J'ai construit un site, basé sur ces quatre teintes, et je pensais que ce serait luisant si les images avaient toutes les couleurs déformées pour leur correspondre. En même temps, dans chacune des quatre gammes de couleurs réduites, je voulais garder autant de dynamiques qui sont encodées par la valeur / luminosité d'origine que possible. J'espère que ça aide. Les points ne seront pas attribués par moi, l'affiche originale, pour les réponses imprimées, mais toute explication pour une solution imprimée sera probablement appréciée par la communauté. @Emilie, qui a placé la prime sur la question, peut récompenser qui elle veut.
Merci à @Emilie d'avoir placé la prime dessus! J'étais vraiment déçu que personne ne semblait pouvoir y répondre auparavant.
la source
Réponses:
Comme d'autres l'ont souligné, la logique de cette question est un peu défectueuse, mais néanmoins très intéressante.
Ma réponse est principalement basée sur les mathématiques RVB / HSB et j'avoue qu'il existe de nombreux aspects discutables en ce qui concerne la couleur perçue, les profils de couleur, etc., mais je vais quand même essayer.
Je prends la liberté de redéfinir un peu la question pour pouvoir y répondre.
Tout d'abord, le spectre que vous nous montrez passe du rouge au bleu. Le magenta manque - que faire des couleurs dans cette partie du spectre?
J'étends donc votre spectre pour inclure le magenta aux deux extrémités.
Un autre problème que nous avons est votre liste de quatre teintes comme vous l'appelez. Ce ne sont pas seulement des teintes , ce sont des couleurs avec des valeurs de saturation et de luminosité individuelles . Cela n'a pas beaucoup de sens si nous devons les comparer avec le spectre, nous devons donc les "réduire en teintes" en changeant à la fois la saturation et la luminosité à 100.
Nous utiliserons le filtre HSB / HSL (qui doit être téléchargé depuis le site d'Adobe) dans Photoshop pour obtenir la teinte d'une image en tant que masque alpha. Ensuite, nous utiliserons Gradient Map pour mapper les valeurs de teinte aux valeurs souhaitées, puis nous reconvertirons l'image en RVB à l'aide du filtre HSB / HSL.
Le calcul est un peu génial parce que la plage de teinte est de 0 à 360 ( et elle s'enroule), la plage d'alpha est de 0 à 255 et la plage de gradients est de 0 à 100.
Je vais d'abord faire un tableau pour avoir une idée de ce qui se passe. Nous pourrions ne pas avoir besoin de tous les chiffres.
(Les valeurs sont arrondies et les teintes ne correspondent pas exactement à la façon dont vous les avez définies, car j'ai étendu le spectre. Elles auraient bien sûr pu être placées différemment.)
Prenons une image colorée et ajoutons le spectre comme référence. (Image de Mike Goad de Pixabay).
L'utilisation du filtre HSB / HSL nous donne le canal de teinte suivant:
Je copie le canal de teinte dans un nouveau document en niveaux de gris (le profil de couleur doit être Gray Gamma 2.2 ) afin de pouvoir utiliser Gradient Map dessus. J'ai configuré la carte de dégradé comme suit:
La mise en place des arrêts de dégradé nécessite un peu de tripotage (c'est assez ennuyeux de travailler avec). J'obtiens les valeurs du tableau que j'ai fait auparavant. Il y a 8 arrêts au total, certains d'entre eux doivent se chevaucher pour obtenir des transitions difficiles:
Le canal de teinte résultant ressemble à ceci:
Je copie enfin ce canal de teinte dans l'image HSB initiale, remplaçant l'ancien canal de teinte et reconvertit l'image en RVB à l'aide du filtre HSB / HSL.
Je crois que cela fait comme demandé, mais je ne sais pas si cela a l'air aussi cool que vous l'espériez. Les transitions sont très abruptes, mais elles pourraient bien sûr être adoucies en changeant la carte du gradient.
Edit: approche Javascript
Voici un JSFiddle avec une version Javascript du même concept. Déposez une image sur la page résultante et elle est convertie en quatre teintes. Modifiez les "hueRanges" pour personnaliser le résultat. La partie principale du code est annotée.
Le résultat diffère légèrement de la méthode Photoshop, mais il est très proche:
Comme je ne connais pas les mathématiques derrière les filtres de Photoshop, je ne peux pas dire pourquoi il y a cette différence.
la source
C'est un concept imparfait à reproduire car il est entièrement abritoire où une couleur se termine et une autre commence. Vous parlez également de préserver la teinte, ce qui la rend encore plus confuse.
Cela dit, pour votre résultat, vous pouvez essayer:
Voici les résultats:
la source
La question est récemment éditée d'un état ambigu à une meilleure forme. Il exige désormais une quantification et un remappage des teintes explicitement prédéfinis. La réponse acceptée le donne pour Photoshop.
Le prochain est pour les utilisateurs de freeware.
Paint.NET possède un filtre de plugin qui effectue directement les mappages de teintes et de plages de saturation. Cette tâche nécessite d'appliquer le filtre quatre fois pour mapper un total de 360 degrés à quatre teintes distinctes. Le résultat est le même que dans la réponse acceptée. Le filtre est "Teinte conditionnelle / Saturation". Cela fait partie du package d'effets d'Evan.
Le filtre n'est pas entièrement poli. Je ne pouvais pas entrer des valeurs de teinte prédéfinies exactement. Les réglages de plage doivent être effectués avec des curseurs beaucoup trop petits, aucun champ de saisie numérique exact n'existe. Voici un test avec la même image qui a été utilisée dans la réponse de Wolff:
la source
1. Convertissez l'image RVB en HSB
Utilisez Filtre> Autre> HSB / HSL et sélectionnez le mode d'entrée: RVB et l'ordre des lignes: HSB. Cela rendra l'image très étrange, mais cela nous permet de manipuler la teinte séparément de la saturation et de la luminosité en utilisant les canaux d'image.
2. Réduisez le nombre de teintes
Le canal rouge contiendra désormais les teintes de tous les pixels de l'image. Vous souhaitez les quantifier dans vos quatre teintes sélectionnées. C'est la partie la plus difficile. Une façon de le faire serait de copier le contenu du canal rouge vers une nouvelle image et de définir le mode d'image sur Couleur indexée et de créer une palette personnalisée avec vos teintes mappées aux valeurs noir et blanc correspondantes. Collez ensuite cette image dans le canal rouge.
3. Reconvertissez en RVB
Lorsque vous avez réduit le nombre de teintes, vous appliquez à nouveau le filtre HSB / HSL, mais avec un paramètre d'ordre d'entrée / ligne inversé pour terminer la procédure.
la source
La question ne précise pas le but de l'image, cette réponse est pour une image destinée à l'impression ( EPS DCS )
Dans ce cas, la conversion d'une image en seulement quatre encres sans avoir la couleur noire, suppose que les ombres de cette image seront la couleur la plus sombre, le bleu.
Ajouter après les commentaires et discuter
Pour moi, la question a un problème de concept ce qui rend difficile de trouver un résultat optimal. Je suppose que l'OP pose des questions sur une image RVB mais pense dans un processus de mixage CMJN. C'est pourquoi j'utilise une image CMJN tandis que @Wolff répond en utilisant une image RVB.
la source
Ce n'est pas convertir de nombreuses couleurs en 4, mais obtenir 4 couleurs avec la même teinte? Ouvrez la première couleur dans votre sélecteur de couleurs. La gauche et la droite changent de teinte. Le haut fait des teintes, le bas fait des nuances. Allez directement de votre couleur à une distance spécifiée. Je ne sais pas comment spécifier la distance, à l'œil et à la main, c'est comme ça que je le fais. Si votre couleur d'origine est à mi-hauteur du graphique, choisissez un point directement au-dessus de lui qui est de 25% vers le haut (ou quelle que soit la teinte que vous souhaitez). Notez la valeur hexadécimale de cette nouvelle couleur. Faites de même pour les trois couleurs suivantes, en essayant la même quantité par rapport à la couleur d'origine.
Alternativement, rassemblez vos 4 couleurs saturées et dessinez un rectangle blanc dessus et appliquez une transparence / différence et une opacité de 80% au rectangle. Vous devrez peut-être essayer les autres transparents et l'opacité, en particulier pour obtenir les bonnes teintes, ou appliquer uniquement l'opacité au rectangle, en ajoutant du blanc à vos couleurs uniformément pour obtenir la même teinte.
la source
Il y a plusieurs façons de penser, bien qu'aucune ne soit super précise et pratique dans tous les cas.
Vous pouvez également utiliser Adobe Illustrator, si vous l'avez.
Importez l'image que vous utilisez et recherchez le «traçage d'image». Réglez le traçage d'image sur le meilleur réglage qui convient à vos besoins. Dans CS6 au moins, il existe des préréglages pour 3 ou 6 couleurs, mais si vous ouvrez le panneau de suivi d'image, vous pouvez définir une autre quantité de couleurs souhaitée.
la source