Obrigado a Julio Marchi pelo espaço cedido na MSX All
 

MSX Palette Project

  Esse projeto tem como objetivo desenvolver um editor de paleta de cores para o MSX, bem como criar ferramentas de otimização das cores dessa paleta.

  1. Introdução
  O projeto da paleta de cores surgiu em 2003 para dar suporte ao MSX Viewer 4, onde o protótipo somente exibia as 512 cores do MSX 2 e informava qual o valor R,G,B de uma dada cor, quando o mouse passava sobre ela.
  Quando surgiu o MSX Viewer 5, foi criado um novo editor de paleta. Esse editor permite não só o usuário visualizar as cores do MSX, como definir as 16 cores da paleta do MSX, de modo que a imagem seja adaptada a qualquer combinação de cores. Além desse editor, há o editor de paleta para o chip de vídeo V9990, que possui 32 mil cores e 64 combinações possíveis.
  Junto ao projeto do MSX Viewer surgiu um otimizador de paleta, onde a paleta de cores do MSX 2 e do V9990 são adaptadas a uma dada imagem, resultando em uma imagem de maior qualidade.

  História:
  2009 - O MSX Viewer 5 (beta) é lançado trazendo um editor de paletas além de um otimizador para encontrar a melhor paleta para uma dada imagem.
  2003 - O primeiro protótipo exibe as 512 cores do MSX 2, servindo como um catálogo de cores.

  2. O Editor
  O editor de paletas surgiu junto do MSX Viewer 5 trazendo diversas novidades. A seguir, são listadas as principais funcionalidades do editor.

  O editor permite ao usuário:
  - Visualizar o valor R,G,B de uma dada cor.
  - Alterar a cor de um índice da paleta, arrastando o valor do índice para a cor desejada.
  - Alterar diretamente os valores R,G,B na tabela de cores.
  - Alterar a paleta para cores pré-definidas.
  - Carregar ou salvar uma paleta de cores. Compatível com a paleta do GIMP.
  - Utilizar qualquer combinação de cores para uma imagem.




  É possível adaptar uma imagem a qualquer paleta. Por exemplo, se tirvermos uma paleta com tons de azul, a imagem ficará em tons de azul.




  Utilizando-se um método de reconhecimento de cores, como a "Distância Euclidiana", a imagem é adaptada à paleta com tons de azul.



  3. O Otimizador
  Além do editor, o MSX Viewer 5 possui um otimizador para adaptar a paleta do MSX 2 e do V9990 para uma determinada imagem. Ele utiliza o algoritmo do K-Means para atingir o objetivo.

  No exemplo a seguir, foi utilizada a conversão para a GSCREEN 13 do V9990, com 64 cores de 32768.

  Ao clicar sobre o botão de otimização na etapa de reconhecimento de cores, o diálogo pergunta sobre o número de iterações e o número de cores que se deseja utilizar da paleta. Esse recurso é interessante, caso o usuário deseje reservar algumas cores da paleta para uso futuro.

  Após algumas rodadas, a paleta ideal é encontrada. Podemos ver o resultado, abrindo o editor de paleta. O editor de paleta do V9990 é diferente do editor do MSX 2, porém é mais parecido com os diálogos de cores do PC.




  Após otimizar a paleta, deve-se reconhecer as cores utilizando o método de "Distância Euclidiana", "Error Diffusion" ou "Dithering". O resultado da otimização com "Error Diffusion" aplicado em uma imagem pode ser visto a seguir. Observe que a imagem possui apenas 64 cores.




  4. Artigos relacionados
  Otimização da Paleta de Cores


Marcelo Silveira
Engenheiro de Sistemas e Computação
Especialista em Processamento de Imagens e Inteligência Artificial
© MarMSX 1999-2024