%% Limpieza
% matriz de valores
matriz = [ 5 0 0 0; 4 0 0 1; 0 0 0 2; 0 1 0 4 ];
% dimensiones de la matriz
filas = 4;
columnas = 4;
% cuántos colores
max_color = 6;
% vector de colores
% la posición 1 corresponde al color para la cantidad 1,
% la posición 2 al color para la cantidad 2...
% tiene max_color elementos por 3, para guardar las componentes rojo, verde
% y azul de cada color
colores =
zeros( max_color,
3 );
%% Asignación de colores
% llenamos los colores, para cada elemento tenemos 3 componentes: rojo,
% verde y azul
% Elemento 1, rojo
colores( 1, 1 ) = 255;
colores( 1, 2 ) = 0; % se puede eliminar, pues ya vale cero
colores( 1, 3 ) = 0; % se puede eliminar, pues ya vale cero
% Elemento 2, verde
colores( 2, 1 ) = 0; % se puede eliminar, pues ya vale cero
colores( 2, 2 ) = 255;
colores( 2, 3 ) = 0; % se puede eliminar, pues ya vale cero
% elemento 3, azul
colores( 3, 1 ) = 0; % se puede eliminar, pues ya vale cero
colores( 3, 2 ) = 0; % se puede eliminar, ya vale cero
colores( 3, 3 ) = 255;
% elemento 4, amarillo
colores( 4, 1 ) = 255;
colores( 4, 2 ) = 255;
% elemento 5, morado
colores( 5, 1 ) = 128;
colores( 5, 3 ) = 128;
%% Imagen
% la imagen es una matriz de filas x columnas x 3 componentes de cada pixel
% se convierte a uint8 pues cada componente del pixel es de ese tipo (byte)
%% Dibujado
% recorre la matriz por filas y columnas, colocando el color adecuado
% en la imagen
for f = 1 : filas
for c = 1 : columnas
valor = matriz( f, c );
if ( valor ~= 0 )
imagen( f, c, 1 ) = colores( valor, 1 );
imagen( f, c, 2 ) = colores( valor, 2 );
imagen( f, c, 3 ) = colores( valor, 3 );
end
end
end
imshow( imagen );