Convertissez en quatre teintes tout en préservant les valeurs / luminosité dans Photoshop

9

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:

  1. 333
  2. 58
  3. 193
  4. 242

Voici comment je voudrais convertir les teintes:

Valeurs HSV cibles

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:

entrez la description de l'image ici

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.

CoderScissorhands
la source
juste une supposition, mais une combinaison d'un calque de réglage noir et blanc et d'une carte de dégradé?
Vincent
@ Vincent ne fonctionnera pas, je ne crois pas. En fait, je pense qu'aucune réponse ne fonctionnera. C'est un concept imparfait.
Ryan
D'accord .. alors vous n'avez pas besoin de chaînes spot spécifiquement. Vous pouvez simplement masquer les calques et appliquer une couleur de manière excessive .... Il respectera les teintes si vous envoyez le mode de fusion sur "Teinte" ou "couleur".
Scott
La coloration est facile (j'utiliserais des cartes de dégradé). La sélection automatique des plages de teintes et la création des masques est la partie la plus difficile. Je n'ai pas encore pensé à une solution pour cela.
Marc Edwards
1
@Emilie, Ça m'a fait plaisir de voir tous les fiançailles que ta prime a suscitées! De plus, je peux voir les résultats (que je ne pouvais qu'imaginer auparavant)! Même les réponses "incorrectes" sont intéressantes. Merci encore!!
CoderScissorhands

Réponses:

6

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.

Wolff
la source
Continuons cette discussion dans le chat .
Wolff
Arrêtez de poster dans les commentaires. Le salon de discussion a été créé, tous les commentaires après sa création ont maintenant été perdus. Utilisez le salon de discussion.
Ryan
2

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:

  1. Convertir en LAB
  2. Dupliquez le calque et postérisez-le avec 4
  3. Créez 4 calques de réglage de couleur unie avec chacune de vos 4 couleurs. Changez chacun en mode de fusion des couleurs.
  4. Utilisez les options Blend-If pour réduire ces 4 couleurs aux contraintes que vous recherchez.

Voici les résultats:

entrez la description de l'image ici

Ryan
la source
Je ne pense pas que vous "préserviez les teintes" comme ma réponse le fait (en quelque sorte), mais ça a l'air plutôt cool!
Wolff
Les teintes @Wolff dans LAB sont complètement séparées dans le canal L. Ma réponse ne modifie pas du tout cette chaîne, elle devrait donc conserver les teintes / nuances (éclairage)
Ryan
Ah, je vois. Agréable.
Wolff
J'ai posé cette question à la suite de votre réponse, car je n'ai vraiment rien trouvé pour sauvegarder que LAB séparait le blanc / noir plus correctement que le HSB. J'ai donc attribué la prime à la réponse de Wolff, mais pour mémoire, mon avis n'est pas vraiment pris entre les deux!
curieux
2

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:

entrez la description de l'image ici

user287001
la source
Oh, c'est bien de voir que vous obtenez le même résultat. Je veux dire qu'il semble que c'est à quoi cela ressemble si vous faites ce que l'OP demande. Aurons-nous jamais besoin de ce résultat? Je ne suis pas si sûr. Mais c'est un puzzle résolu.
Wolff
@Wolff si le mappage est effectué en définissant les valeurs visuellement, la méthode aurait sûrement une certaine valeur en tant qu'outil créatif. Le filtre pour Paint.NET remplit cette tâche.
user287001
Merci! Alors que je voulais une solution basée sur Photoshop, c'est bien d'avoir une option open-source. Cool que vous ayez trouvé ça!
CoderScissorhands
1

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.

filip
la source
Je n'ai pas hsb / hsl en option dans mon menu "autre". Cela fait-il partie de CS5?
CoderScissorhands
Je l'ai trouvé ici: supportdownloads.adobe.com/detail.jsp?ftpID=4688 , c'est un "plugin supplémentaire" (vous devez placer le fichier appelé "MultiPlugin.8BF facultatif" dans le dossier du plugin d'installation de Photoshop de votre installation.
CoderScissorhands
Je suis arrivé au milieu de la deuxième étape et j'ai le canal rouge dans une nouvelle image, avec le mode d'image réglé sur la couleur indexée. Maintenant, pourriez-vous me dire comment créer une palette personnalisée avec mes teintes mappées aux valeurs noir et blanc correspondantes? Si vous pouvez m'expliquer cela et que cela fonctionne, je peux vous remercier d'avoir répondu à la question. :)
CoderScissorhands
0

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.

  • À partir d'une image CMJN où il y a 4 canaux de couleur disponibles et allez dans le menu Image > Mode et choisissez Multicanal
  • Modifiez chaque couleur de canal en cliquant sur la vignette de couleur et insérez les numéros RVB
  • Remplacer le canal noir pour la couleur bleue

entrez la description de l'image ici

entrez la description de l'image ici

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.

  • Le rouge est facile à changer pour la nouvelle couleur RVB
  • Le problème vient du jaune, car dans une image RVB, le jaune est le mélange du vert et du rouge, ce qui rend impossible de séparer le rouge et le jaune en deux couleurs différentes. Dans la barre spectrale, les verts et les jaunes doivent être un RVB jaune, ce qui signifie se débarrasser de l'image RVB. Il doit être converti en une image à couleurs plates imprimées (ou un autre mode d'image) pour l'obtenir.
  • Le même problème avec le cyan, un mélange de vert et de bleu

entrez la description de l'image ici


la source
2
Chasseur de primes :) Votre réponse ne répond pas vraiment à tous les problèmes techniques de la question. Et l'image résultante ne peut pas être destinée à l'impression car vous ne pouvez pas utiliser quatre couleurs RVB comme encres d'impression. Je vais voir si je peux trouver une réponse plus (pseudo) techniquement correcte.
Wolff
Je sais, en fait, la question me pose plusieurs problèmes, c'est pourquoi j'ai mis ma version imprimable . Vous ne pouvez pas utiliser quatre couleurs RVB comme encres d'impression , c'est vrai, mais vous pouvez utiliser la couleur RVB dans un document multicanal.
Oui, mais que faire ensuite du fichier? C'est toujours juste "pour l'écran". Vous devrez convertir en RVB, puis revenir en CMJN afin de pouvoir l'imprimer. La question est défectueuse. Voir mon dernier article sur The Ink Spot. (Je travaille actuellement sur une autre solution)
Wolff
Vous devrez convertir en RVB, puis revenir en CMJN afin de pouvoir l'imprimer , c'est faux, un fichier .dcs est prêt à imprimer en sérigraphie d'encres plates. Je reviens au début de ma réponse: la question ne clarifie pas le but de l'image.
2
Pour autant que je sache, la façon dont la photo manipulée par @Wolff du stand de fruits ressemble plus au résultat escompté que j'espérais (par rapport à votre version). Je veux quelque chose qui ressemble à la postérisation, mais avec des teintes préservées autant que possible. Votre version du stand de fruits a des oranges et des rouges que je veux absolument exclure. J'attendrai un peu avant de récompenser la prime, mais jusqu'à présent, il semble avoir mieux compris ma question, telle que je la voulais.
CoderScissorhands
-1

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.

Webster
la source
Oh, woops, c'est pour Illustrator. Si l'arrière-plan est blanc, l'opacité appliquera une teinte à vos couleurs dans PS.
Webster
Je veux essentiellement réduire toutes les teintes à quatre et conserver les teintes. Cela a-t-il du sens? Je veux que le résultat final ait la gamme complète de teintes disponibles dans l'image originale. Cependant, je veux remplacer les teintes ... en les réduisant du spectre complet à quatre, et que ces valeurs dépendent de l'endroit où elles se situent dans la gamme de teintes.
CoderScissorhands
-2

Il y a plusieurs façons de penser, bien qu'aucune ne soit super précise et pratique dans tous les cas.

  • La première option consiste à utiliser l'outil d'échantillonneur / sélecteur de couleurs. Sélectionnez-le, puis définissez «taille de l'échantillon» en haut sur une grande valeur qui couvrirait environ 1 / 4ème de l'image. Ce faisant, l'échantillonneur prendra une teinte moyenne sur une plus grande zone, par opposition à un seul pixel. Si votre image est trop grande, réduisez-la d'abord.
  • La deuxième option consiste à réduire l'image à quelques pixels de large. Par exemple, si vous utilisez l'image que vous avez fournie et que vous souhaitez 4 couleurs, réduisez l'image à 4 pixels de haut. De cette façon, Photoshop trouve les couleurs moyennes pour vous lors de la mise à l'échelle. Remarque: Avec la deuxième option, il peut être utile de définir l'interpolation d'image (disponible dans les paramètres de Photoshop) sur 'voisin le plus proche'.

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.

paddotk
la source
Puisqu'il veut convertir toute son image (comme dans chaque pixel), la réduire n'est probablement pas ce qu'il voulait cependant.
SitiSchu