Requisito previo: Representación de imagen RGB
MATLAB, también llamado Matrix Laboratory, es un entorno de computación numérica y una plataforma para lenguajes de programación. Fue diseñado y desarrollado por MathWorks. MATLAB es un marco que nos permite realizar manipulaciones de arrays, implementar algoritmos, trazar funciones y datos, crear interfaces de usuario e interactuar con programas que están escritos en diferentes lenguajes de programación, es decir, C, C++, python, java, etc.
¿Cómo dibujar una imagen coloreada en 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.
Enfoque para dibujar la bandera de japón:
- Haga una array cero de orden 3 que tenga dimensiones (300, 500, 3) donde 300 indica el número de píxeles para las filas, 600 indica el número de filas y 3 indica el código de color en formato RGB.
- Primero colorea toda la array en color blanco. RGB para el color rojo es (255, 255, 255).
I(:, :, :)=255;
- Aplique bucle en filas y columnas e implemente la ecuación del círculo de manera que obtengamos un círculo en el centro de la bandera y lo coloreemos de carmesí usando el formato RGB.
Ecuación del círculo:((x-h)^2 - (y-k)^2)=r^2
donde (h, k) son los centros, (x, y) son las coordenadas del eje x y el eje y y es el radio del círculo.
El formato rgb para el color de la gloria carmesí es (188, 0, 45).
A continuación se muestra el código:
% create a 2-D matrix and paint it white I = uint8(zeros(300, 500, 3))+255; %the center point 1 through which the circle will pass circle_center1=150; %the center point 2 through which the circle will pass circle_center2=250; radius=6.32; % radius of the circle x=i; % x-axis co-ordinate y=j; % y-axis co-ordinate %loop for rows i.e. for x-axis for i = 101:200 %loop for columns i.e. for y-axis for j = 101:300 %applying the equation of circle to make the circle in the center. if round(sqrt((i-circle_center1)^2 + (j-circle_center2)^2)) < radius^2 % fill the circle with crimson glory % color using RGB color representation. I(i, j, 1) = 188; I(i, j, 2) = 0; I(i, j, 3) = 45; end end % end column loop. end % end row loop. % show the image formed. figure, imshow(I);
Producción:
Publicación traducida automáticamente
Artículo escrito por kanugargng y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA