Eu tenho algumas cores em RGB em [0,1] e quero encontrar uma maneira de avaliar sua semelhança, conforme percebida por um humano.
Tenho duas idéias em mente, mas tenho certeza de que há outras opções também, mas não tenho certeza qual é a melhor, ou se talvez não exista melhor, mas apenas as compensações.
Minha primeira idéia é tratar as cores RGB como pontos XYZ e calcular sua distância.
Outra idéia que tenho é tratar os valores RGB como um histograma e usar o produto escalar para obter um valor de similaridade entre eles, onde um valor maior é melhor.
Eu sei, no entanto, que nem todos os canais de cores têm o mesmo brilho percebido, então talvez eu deva ponderar os canais de cores de maneira diferente nos dois casos?
Também estou pensando que talvez precise fazer a correção sRGB nos valores das cores (como sqrt em cada canal de cores).
Sei também que existem outros espaços de cores, então talvez um deles seja melhor em fornecer um valor de similaridade.
Outro desafio para isso pode ser que diferentes telas exibam os mesmos valores de cores de maneira diferente. Não tenho certeza se isso é relevante neste caso.
Alguém capaz de fornecer alguma ajuda / orientação?
Respostas:
Esse é um assunto imenso e pouco encontrado sob a bandeira dos modelos de aparência de cores . Por que não é estritamente uma formação mais simples, é devido à natureza psicofísica da cor em que a cor não existe além do organismo humano?
O melhor conselho é que, assim como a criptografia, não crie o seu próprio; é provável que você chegue a um sistema subótimo que, na melhor das hipóteses, atingirá paredes já atingidas por outros pesquisadores no campo. Se você basear seu trabalho em modelos e pesquisas existentes, poderá achar que ele é mais preciso para suas necessidades [1].
Pode-se apontar os desenvolvimentos históricos em torno das CAMs, mas é mais fácil sugerir aqui que você pesquise o modelo de codificação de cores IPT e seu equivalente cilíndrico que modela a cor e a tonalidade como um ângulo. As evoluções no modelo IPT superam a maioria dos problemas do modelo anterior do laboratório e simplificam parte do trabalho envolvido no CIECAM02.
O IPT e todos os espaços de cores RGB estão ancorados na pesquisa da CIE de 1931. Como tal, esses tipos de problemas são resolvidos em um nível inferior.
[1] Essa resposta expandida se deve ao comentário do Sr. Wolfe abaixo, na tentativa de explicar por que lançar sua própria solução pode ser uma abordagem subótima.
fonte
Se métricas complexas forem aceitáveis, sugiro examinar a abordagem baseada na percepção descrita aqui . A métrica foi projetada para selecionar a diferença de percepção de duas imagens. Existem dois testes principais para isso: com base na luminância e na cor. Primeiro, é possível responder à pergunta sobre a importância da mudança de luminância, estimando um fator limiar não uniforme com base na sensibilidade às alterações de contraste, dependendo das frequências espaciais da imagem. O segundo é baseado na distância euclidiana no espaço de cores do CIE LAB, mas ligeiramente modificado para tornar a diferença de cores menos importante quando a luminância está nas faixas mesópica e escotópica. Uma lista de documentos relacionados a essa métrica pode ser encontrada aqui .
fonte