danmadeira / descoloracao-seletiva

Script em PHP para realizar uma descoloração na imagem fornecida mas mantendo apenas uma cor escolhida.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Descoloração seletiva

Script em PHP para realizar uma descoloração na imagem fornecida mas mantendo apenas uma cor escolhida.

Como funciona

A cor escolhida (ou cores), a qual não irá descolorir, será definida pelos intervalos inferior e superior de cada valor no HSL. Assim, cada pixel encontrado, que esteja com os valores HSL dentro destes intervalos, não será convertido para a escala de cinza. Todo o resto da imagem será convertido para a escala de cinza.

O espaço de cor hue/saturation/lightness, ou, matiz/saturação/luminosidade, é um sistema de colorimetria para dimensionar uma cor por estas três propriedades. No HSL, o matiz é a cor pura numericamente ordenada em um círculo de cores de 360°. A saturação é o grau de pureza da cor pela mesclagem do matiz com a cor cinza, em uma escala de 0% (cinza) à 100% (pura). A luminosidade é a claridade da cor graduada do completamente enegrecido em 0% ao completamente embranquecido em 100%, deste modo, a cor pura está em 50% da luminosidade.

A régua de cores serve apenas para ilustrar o espaço HSL.

Algoritmo

A conversão para a escala de cinza utiliza a equação de derivação do sinal de luminância, do padrão ITU-R BT.709-6, com os valores primários do espaço de cor CIE XYZ. A conversão entre RGB/HSL utiliza as funções deste repositório: Conversão de espaço de cores RGB-HSL-HSV

Exemplo de descoloração seletiva

Para este exemplo foi adotado o intervalo de matiz 40-63, de saturação 50-100 e de luminosidade 1-100, no qual se encontra a cor amarela:

Imagem original (foto de Kai-Chieh Chan no Pexels):

original

Imagem descolorida:

descolorida

Referências

About

Script em PHP para realizar uma descoloração na imagem fornecida mas mantendo apenas uma cor escolhida.

License:GNU General Public License v3.0


Languages

Language:PHP 100.0%