cmpermute

Reordena as cores de um mapa de cores e atualiza a imagem indexada para combinar.

Categoria: Graphics > Images

Sintaxe

[Y, newmap] = cmpermute(X, map, order)

Reorganiza map conforme order e renumera X para que continue com a mesma aparência.

Descrição

Como uma imagem indexada só se refere às cores por posição, simplesmente embaralhar o mapa de cores mudaria a figura. cmpermute embaralha os dois de forma consistente, de modo que ind2rgb(Y, newmap) é igual a ind2rgb(X, map).

Argumentos de entrada

X
Imagem indexada (índices inteiros no mapa de cores).
map
Mapa de cores, m por 3.
order
Vetor com a nova ordem das linhas do mapa; newmap(k,:) é map(order(k),:).

Argumentos de saída

Y
Imagem com os índices ajustados à nova ordem.
newmap
O mapa de cores reordenado.

Exemplo

Trocar duas cores

X = [1 2; 2 1];
map = [1 0 0; 0 0 1];
[Y, newmap] = cmpermute(X, map, [2 1])
Saída
Y = 2×2

     2     1
     1     2
newmap = 2×3

     0     0     1
     1     0     0

Veja também

cmunique ind2rgb colormap rgb2ind