Dibuja la bandera de Kuwait usando MATLAB

Una imagen coloreada se puede representar como una array de 3 orden. El primer orden es para las filas, el segundo orden es para las columnas y el tercer orden es para especificar el color del píxel correspondiente. Aquí usamos el formato de color RGB, por lo que el tercer orden tomará 3 valores de Rojo, Verde y Azul respectivamente. Los valores de las filas y columnas dependen del tamaño de la imagen.

Requisito previo: representación de imagen RGB

Acercarse :

  • Haga una array de orden cero de 3 dimensiones 300X500X3. 300 indica el número de píxeles de las filas, 500 indica el número de píxeles de las columnas y 3 indica el código de colores en formato RGB. La imagen comienza completamente negra porque para todos los píxeles el código de color es (0, 0, 0).
  • Pinte la barra horizontal entre las filas 1 a 100 y entre las columnas 101 a 500 de color verde. El código de color verde en la bandera de Kuwait es (0, 122, 61).
  • Pinte la barra horizontal entre las filas 101 a 200 y entre las columnas 101 a 500 de blanco. El código de color del blanco es (255, 255, 255).
  • Pinte de rojo la barra horizontal entre las filas 201 a 300 y entre las columnas 101 a 500. El código de color rojo en la bandera de Kuwait es (206, 17, 38)
  • En este punto tenemos una imagen que se ve así:

    Ahora tenemos que dibujar 2 triángulos.
  • Para el triángulo verde superior. En la array con filas del 1 al 100 y columnas del 1 al 100, pinta el triángulo superior derecho de color verde.
  • Para el triángulo rojo inferior. En la array con filas del 201 al 300 y columnas del 1 al 100, pinta el triángulo inferior derecho de rojo.

A continuación se muestra la implementación:

% MATLAB code to draw Kuwait flag
  
% initialising a zero matrix of 300X500X3
I=uint8(zeros(300, 500, 3));
  
% green horizontal bar
I(1:100, 101:500, 1)=0;
I(1:100, 101:500, 2)=122;
I(1:100, 101:500, 3)=61;
  
% white horizontal bar
I(101:200, 101:500, :)=255;
%red bar
I(201:300, 101:500, 1)=206;
I(201:300, 101:500, 2)=17;
I(201:300, 101:500, 3)=38;
  
% green upper triangle
for i = 1:100
    for j=1:100
        if i<=j
            I(i, j, 1)=0;
            I(i, j, 2)=122;
            I(i, j, 3)=61;
        end
    end
end
  
% red lower triangle
for i = 201:300
    for j = 1:100
        if (i-200)+j>=101
            I(i, j, 1)=206;
            I(i, j, 2)=17;
            I(i, j, 3)=38;
        end
    end
end
  
% displaying the matrix as image
figure, imshow(I);

Producción :

Publicación traducida automáticamente

Artículo escrito por Yash_R y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *