En el procesamiento de imágenes digitales, una imagen en color se representa en una array tridimensional. La imagen se puede representar en varios modelos de color, como el modelo RGB (rojo, verde, azul), el modelo HSV (tono, saturación, valor), el modelo YIQ (cuadratura en fase de luminancia), el modelo CMYK (cian, magenta, amarillo, negro) . Generalmente, una imagen se representa en el modelo RGB. El primer canal de la array es el Rojo, el segundo canal es el Verde y el tercer canal es el Azul.
Enfoque para dibujar la bandera de Sudán:
- Cree una array cero de 300X600X3.300 es el número de filas, 600 es el número de columnas y 3 representa el canal de color RGB. Llene la array con (255, 255, 255). 255 representa un píxel blanco y 0 representa un píxel negro.
img(:, :, :)=255
- Rellene la array con color carmesí (210, 16, 42) entre filas del 1 al 100 y entre columnas del 151:600.
- Rellene la array con negro (0, 0, 0) entre filas de 200 a 300 y entre columnas de 151:600.
- Después de estas operaciones, nuestra imagen queda así
- Ahora, tenemos que dibujar un triángulo superior y un triángulo inferior.
- Para el triángulo inferior, desde la fila 1 a la 150 y la columna 1 a la 150, complete la array con color verde (0, 114, 14)
- De manera similar, para el triángulo superior, desde la fila 150 a la 300 y la columna 1 a la 150, llene la array con color verde (0, 114, 14)
La implementación se da a continuación:
% MATLAB code to draw Sudan flag % initialising a zero matrix of 300X600X3 img=uint8(zeros(300, 600, 3)); img(:, :, :)=255; %Red Color img(1:100, 151:600, 1)=210; img(1:100, 151:600, 2)=16; img(1:100, 151:600, 3)=42; %black Color img(200:300, 150:600, :)=0; % Lower Triangle for i=1:150 for j=1:150 if(j<i) img(i, j, 1)=0; img(i, j, 2)=114; img(i, j, 3)=41; elseif(i<=100) img(i, j, 1)=210; img(i, j, 2)=16; img(i, j, 3)=42; end end end % Upper Triangle for i=150:300 for j=1:150 if(i+j<=300) img(i, j, 1)=0; img(i, j, 2)=114; img(i, j, 3)=41; elseif(i>=200) img(i, j, :)=0; end end end % displaying the matrix as image figure, imshow(img);
Producción :
Publicación traducida automáticamente
Artículo escrito por debanjanchattopadhyay y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA