rgb2ind

Converte uma imagem RGB em imagem indexada usando um mapa de cores dado.

Categoria: Graphics > Images

Sintaxe

X = rgb2ind(RGB, map)

Mapeia cada pixel para o índice da cor mais próxima em map.

[X, map] = rgb2ind(RGB, n)

Quantiza a imagem para no máximo n cores e retorna o novo mapa de cores.

Descrição

Imagens indexadas guardam um inteiro pequeno por pixel mais uma paleta, ocupando menos memória quando poucas cores bastam. O casamento com uma paleta fixa escolhe a cor mais próxima pela distância no espaço RGB; dither pode ser usado para disfarçar a perda com padrões.

Argumentos de entrada

RGB
Imagem truecolor.
map
Mapa de cores para comparação.
n
Número de cores a usar quando o mapa é calculado.

Argumentos de saída

X
Imagem indexada. Sua classe é uint8 para até 256 cores, senão uint16; os índices começam em 0.
map
O mapa de cores usado.

Exemplo

Casar com uma paleta de duas cores

RGB = zeros(1, 2, 3);
RGB(1, 1, :) = [1 0 0];
RGB(1, 2, :) = [0 1 0];
X = rgb2ind(RGB, [1 0 0; 0 1 0])
class(X)
Saída
X = 1×2 uint8 row vector

   0   1
ans = 'uint8'

Observações

No MatLivre é preciso fornecer um mapa de cores; a quantização automática para um número de cores não é suportada.

Veja também

ind2rgb dither cmunique rgb2gray