Converta para quatro matizes, preservando valores / brilho no Photoshop

9

Gostaria de reduzir o número de matizes na minha imagem plana de toda a gama para apenas quatro, mas gostaria de preservar o valor / brilho (e, se possível, a saturação também). Eu quero quatro matizes, porque acho que vai parecer legal.

Tentei usar uma camada de ajuste de matiz, mas quando a usei, ela apenas mudou o intervalo durante a conversão, para que um intervalo fosse convertido em outro com muitas cores. Eu quero mudar um intervalo especificado para ser convertido para o mesmo tom, preservando o valor / brilho (e talvez até a saturação, se for possível).

Estou usando o Photoshop CS5

Estes são os quatro valores de matiz HSB / HSV que eu quero usar:

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

É assim que eu gostaria de converter os matizes:

Valores-alvo do HSV

Nota: Modifiquei esta pergunta desde a primeira publicação. Inicialmente, pedi erroneamente que os respondentes reduzissem a imagem para quatro valores RGB , mantendo simultaneamente os tons / valores na imagem de origem. Isso, no entanto, é uma tarefa impossível, pois os valores RGB contêm tonalidades / brilho E matizes; em tonalidade e matiz RGB estão indissociavelmente vinculados.

Felizmente, o @Wolff conseguiu entender o que eu quis dizer, apesar de minhas frases fracas, e junto com @Danielillo, @Ryan e @Emilie, ele me ajudou a entender que o que eu realmente estava pedindo era direcionar quatro tons, não quatro RGB valores. Ele então identificou os quatro matizes presentes nos meus valores de RGB (em HSB / HSV). Esses valores HSB / HSV são agora os que estou pedindo aos respondentes para segmentar na conversão de imagem (não RGB).

Além disso, como observado por @Wolff, na primeira versão do meu post, não especifiquei como converter o espectro completo do HSB (não tinha intervalos de magenta). A pergunta atualizada também inclui o intervalo anteriormente omitido.

Para aqueles que querem entender a raiz da confusão (legitimamente expressa por alguns usuários que forneceram respostas alternativas), esses foram os 4 valores RGB originais que eu publiquei:

insira a descrição da imagem aqui

Atualização de esclarecimentos: saiba que minha intenção é apenas a tela, não a impressão. Criei um site com base nesses quatro matizes e achei que seria bom se todas as imagens tivessem as cores distorcidas para combinar com elas. Ao mesmo tempo, dentro de cada uma das quatro faixas de cores recolhidas, eu queria manter o máximo possível da dinâmica codificada pelo valor / brilho original. Eu espero que isso ajude. Os pontos não serão concedidos por mim, o pôster original, pelas respostas impressas, mas qualquer explicação para uma solução impressa provavelmente será apreciada pela comunidade. @Emilie, que colocou a recompensa em questão, pode recompensar quem ela desejar.

Obrigado a @Emilie por colocar a recompensa nisso! Eu realmente estava chateado que ninguém parecia capaz de responder antes.

Mãos de tesoura
fonte
apenas um palpite, mas uma combinação de uma camada de ajuste em preto e branco e um mapa de gradiente?
Vincent
@Incent não vai funcionar, eu não acredito. Na verdade, acho que nenhuma resposta funcionará. É um conceito falho.
Ryan
Ok .. então você não precisa de canais spot especificamente. Você pode apenas mascarar camadas e aplicar uma cor excessivamente .... Ele respeitará as tonalidades se você enviar o modo de mesclagem para "Matiz" ou "cor".
Scott
A coloração é fácil (eu usaria mapas de gradiente). Selecionar automaticamente os intervalos de matiz e criar as máscaras é a parte mais difícil. Ainda não pensei em uma solução para isso.
Marc Edwards
11
@Emilie, fez o meu dia ver todo o engajamento que sua recompensa levou! Além disso, eu consigo ver os resultados (que eu só conseguia imaginar antes)! Até as respostas "incorretas" são interessantes. Obrigado novamente!!
CoderScissorhands

Respostas:

6

Como outros já apontaram, a lógica dessa questão é um pouco falha, mas muito interessante, no entanto.

Minha resposta é baseada principalmente na matemática RGB / HSB e admito que existem muitos aspectos questionáveis ​​quando se trata de cores obtidas, perfis de cores etc., mas, mesmo assim, vou tentar.


Estou tendo a liberdade de redefinir um pouco a pergunta para poder respondê-la.

Primeiro de tudo, o espectro que você está nos mostrando vai do vermelho ao azul. A magenta está faltando - o que fazer com as cores em que parte do espectro?

Então, estou ampliando seu espectro para incluir magenta nas duas extremidades.

Outro problema que temos é a sua lista de quatro tons, como você chama. Não são apenas tons , são cores com valores individuais de saturação e brilho . Isso não faz muito sentido se quisermos compará-los com o espectro; portanto, temos que "reduzi-los a matizes", alterando a saturação e o brilho para 100.


Usaremos o Filtro HSB / HSL (deve ser baixado do site da Adobe) no Photoshop para obter a tonalidade de uma imagem como uma máscara alfa. Em seguida, usaremos o Gradient Map para mapear os valores de matiz aos valores desejados e, em seguida, converteremos a imagem novamente em RGB usando o Filtro HSB / HSL novamente.

A matemática é um pouco estranha porque o intervalo de matiz é de 0 a 360 ( e envolve), o intervalo de alfa é de 0 a 255 e o intervalo de gradientes é de 0 a 100.

Primeiro vou fazer uma mesa para ter uma idéia do que está acontecendo. Podemos não precisar de todos os números.

(Os valores são arredondados e os matizes não exatamente como você os definiu, porque eu ampliei o espectro. É claro que eles poderiam ter sido colocados de maneira diferente.)

Vamos tirar uma imagem colorida e adicionar o espectro como referência. (Imagem de Mike Goad por Pixabay).

O uso do filtro HSB / HSL nos fornece o seguinte canal de matiz:

Copio o canal de matiz para um novo documento em escala de cinza (o perfil de cores deve ser Gray Gamma 2.2 ) para poder usar o Gradient Map nele. Configurei o mapa de gradiente da seguinte maneira:

Configurar as paradas de gradiente requer um pouco de brincadeira (é muito chato trabalhar com isso). Estou recebendo os valores da tabela que fiz antes. Existem 8 paradas no total, algumas delas devem se sobrepor para obter transições difíceis:

O canal de matiz resultante é assim:

Finalmente, copio esse canal de matiz de volta para a imagem HSB inicial, substituindo o antigo canal de matiz e converto a imagem novamente em RGB usando o filtro HSB / HSL.

Acredito que isso ocorra conforme solicitado, mas não tenho certeza se parece tão legal quanto você esperava. As transições são muito abruptas, mas é claro que poderiam ser suavizadas alterando o mapa do gradiente.


Editar: abordagem Javascript

Aqui está um JSFiddle com uma versão Javascript do mesmo conceito. Solte uma imagem na página resultante e ela será convertida para os quatro tons. Altere os "hueRanges" para personalizar o resultado. A parte principal do código é anotada.

O resultado difere um pouco do método do Photoshop, mas é muito próximo:

Como não sei a matemática por trás dos filtros do Photoshop, não sei por que há essa diferença.

Wolff
fonte
Pare de postar nos comentários. A sala de bate-papo foi criada; todos os comentários depois de criados foram perdidos. Use a sala de chat.
Ryan
2

Este é um conceito defeituoso a ser reproduzido porque é totalmente abreviado onde uma cor termina e outra começa. Você também fala sobre preservar o tom, o que o torna ainda mais confuso.

Dito isto, para o seu resultado, você pode tentar:

  1. Converta para LAB
  2. Duplique a camada e posterize-a com 4
  3. Crie 4 camadas de ajuste de cor sólida com cada uma de suas 4 cores. Mude cada um para o modo de mesclagem de cores.
  4. Use as opções Blend-If para reduzir essas 4 cores aos esforços que você procura.

Aqui estão os resultados:

insira a descrição da imagem aqui

Ryan
fonte
Eu não acho que você está "preservando os matizes" como minha resposta (de certa forma), mas parece bem legal!
Wolff
As tonalidades @Wolff no LAB são completamente separadas no canal L. Minha resposta não editar esse canal em tudo assim que deve preservar matizes / tons (iluminação)
Ryan
Ah entendo. Agradável.
Wolff
Fiz essa pergunta depois da sua resposta, porque não consegui encontrar nada para fazer backup que o LAB separasse branco / preto mais adequadamente do que o HSB. Então, eu atribuí a recompensa à resposta de Wolff, mas apenas para constar, minha mente não está realmente decidida entre as duas!
curioso
2

Ultimamente, a pergunta é editada de um estado ambíguo para uma forma melhor. Ele agora exige quantificação e remapeamento explicitamente predefiníveis de matiz. A resposta aceita fornece para o Photoshop.

O próximo é para usuários de freeware.

O Paint.NET possui um filtro de plug-in que faz mapeamentos de matiz e faixa de saturação diretamente. Essa tarefa precisa aplicar o filtro quatro vezes para mapear o total de 360 ​​graus a quatro matizes discretos. O resultado é o mesmo da resposta aceita. O filtro é "Matiz condicional / saturação". É uma parte do pacote de efeitos de Evan.

O filtro não está totalmente polido. Não consegui inserir valores de matiz exatamente predefinidos. As configurações de intervalo devem ser feitas com controles deslizantes muito pequenos, não existem campos de entrada numéricos exatos. Aqui está um teste com a mesma imagem usada na resposta de Wolff:

insira a descrição da imagem aqui

user287001
fonte
Oh, é bom ver que você obtém o mesmo resultado. Quero dizer, parece que é assim que parece se você fizer o que o OP pede. Será que algum dia precisaremos desse resultado? Eu não tenho tanta certeza. Mas é um quebra-cabeça resolvido.
Wolff
@Wolff se o mapeamento for feito definindo os valores visualmente, o método certamente terá algum valor como ferramenta criativa. O filtro do Paint.NET cumpre essa tarefa.
user287001
Obrigado! Embora eu quisesse uma solução baseada no Photoshop, é bom ter uma opção de código aberto. Legal que você encontrou isso!
CoderScissorhands
1

1. Converta a imagem RGB em HSB

Use Filtro> Outro> HSB / HSL e selecione Modo de entrada: RGB e Ordem das linhas: HSB. Isso fará com que a imagem pareça muito estranha, mas nos permite manipular o matiz separadamente da saturação e brilho usando os canais de imagem.

2. Reduza o número de tons

O canal vermelho agora conterá os matizes de todos os pixels da imagem. Você deseja quantizá-los em seus quatro tons selecionados. Esta é a parte mais difícil. Uma maneira de fazer isso seria copiar o conteúdo no canal vermelho para uma nova imagem e definir o modo de imagem como cor indexada e criar uma paleta personalizada com seus tons mapeados para os valores em preto e branco correspondentes. Em seguida, cole esta imagem novamente no canal vermelho.

3. Converta de volta para RGB

Quando você reduz o número de matizes, aplica o filtro HSB / HSL novamente, mas com a configuração de ordem de entrada / linha invertida para concluir o procedimento.

filip
fonte
Eu não tenho o hsb / hsl como uma opção no meu menu "outro". Isso faz parte do CS5?
CoderScissorhands
Encontrei-o aqui: supportdownloads.adobe.com/detail.jsp?ftpID=4688 , é um "plug-in adicional" (você precisa colocar o arquivo chamado "MultiPlugin.8BF opcional" na pasta do plug-in de instalação do photoshop da sua instalação.
CoderScissorhands
Eu cheguei no meio da etapa dois e tenho o canal vermelho em uma nova imagem, com o modo de imagem definido para cores indexadas. Agora, você se importaria em me dizer como criar um palete personalizado com meus tons mapeados para os valores em preto e branco correspondentes? Se você pode me orientar sobre isso e funciona, posso lhe dar crédito por responder à pergunta. :)
CoderScissorhands 4/17
0

A pergunta não esclarece o objetivo da imagem; esta resposta é para uma imagem destinada à impressão ( EPS DCS )

Nesse caso, a conversão de uma imagem em apenas quatro tintas sem a cor preta assume que as sombras dessa imagem serão da cor mais escura, azul.

  • Começando em uma imagem CMYK, onde existem 4 canais disponíveis em cores, vá para o menu Imagem > Modo e escolha Multicanal
  • Edite cada cor de canal clicando na miniatura da cor e insira os números RGB
  • Substitua o canal preto pela cor azul

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Adicionar após os comentários e bate-papo

Para mim, a pergunta tem um problema de conceito, o que dificulta encontrar um resultado ideal. Eu acho que o OP está perguntando sobre uma imagem RGB, mas pensando em um processo de mixagem CMYK. É por isso que uso uma imagem CMYK enquanto o @Wolff responde usando uma imagem RGB.

  • É fácil mudar o vermelho para a nova cor RGB
  • O problema vem do amarelo, já que em uma imagem RGB o amarelo é a mistura de verde e vermelho, tornando impossível separar vermelho e amarelo em duas cores diferentes. Na barra espectral, os verdes e amarelos devem ser um RGB amarelo, o que significa livrar-se da imagem RGB. Ele deve ser convertido em uma imagem de cores planas (ou outro modo de imagem) para obtê-lo.
  • O mesmo problema com ciano, uma mistura de verde e azul

insira a descrição da imagem aqui


fonte
2
Caçador de recompensas :) Sua resposta realmente não aborda todas as questões técnicas da pergunta. E a imagem resultante não pode ser destinada à impressão, pois você não pode usar quatro cores RGB como tintas de impressão. Vou ver se consigo encontrar uma resposta tecnicamente mais correta (pseudo).
Wolff
Eu sei, na verdade a pergunta tem vários problemas obscuros para mim, é por isso que eu coloquei minha versão impressa . Você não pode usar quatro cores RGB como tintas de impressão , isso mesmo, mas pode usar cores RGB em um documento multicanal.
Sim, mas o que fazer com o arquivo depois? Ainda é apenas "para tela". Você precisará converter para RGB e depois voltar para CMYK para poder imprimi-lo. A questão é falha. Veja meu último post no The Ink Spot. (Estou trabalhando em outra solução no momento) #
Wolff
Você precisará converter para RGB e depois voltar para CMYK para poder imprimi-lo , isso é errado, um arquivo .dcs está pronto para imprimir em serigrafia de tintas planas. Volto ao início da minha resposta: a pergunta não esclarece o objetivo da imagem.
2
Até onde eu sei, a maneira como a foto manipulada @Wolff da banca de frutas se parece mais com o resultado pretendido que eu esperava (em comparação com a sua versão). Quero algo semelhante à posterização, mas com matizes preservados o máximo possível. Sua versão da banca de frutas tem laranjas e vermelhos que eu definitivamente quero excluir. Vou esperar um pouco antes de recompensar a recompensa, mas até agora, ele parece ter entendido minha pergunta, como pretendia, melhor.
CoderScissorhands
-1

Não está convertendo muitas cores para 4, mas alcançando 4 cores com a mesma tonalidade? Abra a primeira cor no seu seletor de cores. Esquerda e direita mudam de tonalidade. Up faz tonalidades, baixo faz tonalidades. Vá direto da cor a uma distância especificada. Eu não sei como especificar a distância, a olho e mão é como faço. Se a cor original estiver na metade do gráfico, escolha um ponto diretamente acima dela, que é de 25% até o topo (ou a quantidade de tonalidade desejada). Observe o valor hexadecimal dessa nova cor. Faça o mesmo nas próximas três cores, tentando a mesma quantidade a partir da cor original.

Como alternativa, reúna suas 4 cores saturadas e desenhe um retângulo branco sobre elas e aplique transparência / diferença e opacidade em 80% ao retângulo. Pode ser necessário tentar as outras transparências e opacidade, especialmente para obter as tonalidades certas, ou aplicar apenas opacidade ao retângulo, adicionando branco às cores de maneira uniforme para obter a mesma tonalidade.

Webster
fonte
Uau, isso é para o Illustrator. Se o fundo for branco, a opacidade aplicará tonalidade às suas cores no PS.
Webster
Quero basicamente recolher todos os matizes para quatro e preservar os matizes. Isso faz sentido? Quero que o resultado final tenha toda a gama de tonalidades disponíveis na imagem original. No entanto, quero substituir os matizes ... reduzindo-os de espectro total para quatro, e esses valores dependem de onde cai no intervalo de matizes.
CoderScissorhands
-2

Existem algumas maneiras em que posso pensar, embora nenhuma delas seja super precisa e conveniente em todos os casos.

  • A primeira opção é usar a ferramenta amostrador / seletor de cores. Selecione-o e defina 'tamanho da amostra' na parte superior para um valor grande que cubra cerca de 1/4 da imagem. Ao fazer isso, o amostrador terá uma tonalidade média em uma área maior, em oposição a um único pixel. Se sua imagem for muito grande, reduza-a primeiro.
  • A opção dois é reduzir a imagem para apenas alguns pixels. Por exemplo, se você usar a imagem fornecida e desejar 4 cores, reduza a imagem para 4 pixels de altura. Dessa forma, o Photoshop encontra as cores médias para você ao dimensionar. Nota: Com a segunda opção, pode ser útil definir a interpolação da imagem (pode ser encontrada nas configurações do Photoshop) como 'vizinho mais próximo'.

Como alternativa, você pode usar o Adobe Illustrator, se tiver.

Importe a imagem que você usa e procure por 'rastreamento de imagem'. Defina o rastreamento de imagem para a melhor configuração que atenda às suas necessidades. No CS6, pelo menos, há predefinições para 3 ou 6 cores, mas se você abrir o painel de rastreamento de imagens, poderá definir outra quantidade desejada de cores.

paddotk
fonte
Como ele deseja converter sua imagem inteira (como em cada pixel), reduzi-la provavelmente não é o que ele queria.
SitiSchu