Programa para hacer Bandera India en Python | Paso a paso

Aquí, haremos Indian Flag en Python usando la herramienta Spyder, que es parte de la interfaz de Anaconda. Es el problema de práctica del principiante para los programadores de python.

Requisito previo: el único requisito previo para este código es poco conocimiento de la programación básica de python. Puede instalar anaconda desde aquí si no tiene ningún intérprete para python.

Enfoque: Usaremos ecuaciones características simples de líneas y círculos en este código. Se recomienda probar por su cuenta antes de llegar a la solución por completo.

Importe estos 3 paquetes para las funciones utilizadas en este código.

import skimage               # for using image processing functions
import os
from skimage import io       # for using imshow function

1. Lee una imagen de al menos las dimensiones esperadas de la bandera.

image2 = io.imread('C:\Users\geeksforgeeks\Desktop\index.jpg')

2. Supongamos que las dimensiones de la bandera son 189 px de alto y 267 px de ancho.

x = 189/2
y = 267/2
r = 189/6

3. Inicie dos bucles for para iterar en cada píxel de la imagen.

for i in range(0, 189):
    for j in range(0, 267):

Dentro del bucle interior, realice 3-(a) y 3-(b).

3-(a). Al dividir la imagen en 3 partes iguales en altura, colorea la imagen en naranja, blanco y verde.

if i in range(0, 189/3):
            image2[i][j] = [255, 128, 64]       # Color coding for Orange 
        elif i in range(189/3, 189*2/3):
            image2[i][j] = [255, 255, 255]      # Color coding for White
        else:
            image2[i][j] = [0, 128, 0]          # Color coding for Green
io.imshow(image2)

io.imshow(imagen2)

3-(b). Ahora es el momento de dibujar el círculo en el centro del Ashoka Chakra , usando la ecuación del círculo.

if (( pow((x-i), 2) + pow((y-j), 2) ) = pow(r-2, 2)):
            image2[i][j] = [0, 0, 255]
io.imshow(image2)

io.imshow(imagen2)

4. Para dibujar los radios del Chakra , necesitamos usar la ecuación de líneas que permanece dentro del círculo solamente, aquí he dibujado 4 x 2 radios, sin embargo, los 24 radios se pueden dibujar usando 12 ecuaciones, ya que cada línea conduce a dos opuestos. radios

for i in range(189/3, 189*2/3):
    for j in range(267/3, 267*2/3):
        if ((i == 189/2) or (j == 267/2) or (i+39 == j or
                (i+39+j == 266))) and (( pow((x-i), 2) + 
                       pow((y-j), 2) ) <= pow(r, 2)) :
            image2[i][j] = [0, 0, 255]

5. Ahora es el momento de ver nuestra imagen, así que usaremos la función < imshow .

io.imshow(image2)

And Over Indian Flag en solo 5 pasos.

El código general se verá así…

"""
@author: geeksforgeeks
"""
# Packages
import skimage
import os
from skimage import io
  
# Reading image file
image2 = io.imread('C:\Users\KRISHNA\Desktop\index.jpg')
  
# Setting dimensions boundaries
x = 189 / 2
y = 267 / 2
r = 189 / 6
  
# Iterating to all the pixels in the set boundaries
for i in range(0, 189):
    for j in range(0, 267):
        if i in range(0, 189 / 3):
            image2[i][j] = [255, 128, 64]     # Orange Color
        elif i in range(189 / 3, 189 * 2 / 3):
            image2[i][j] = [255, 255, 255]    # White Color
        else:
            image2[i][j] = [0, 128, 0]        # Green Color
              
            # Equation for 2px thick ring
        if (( pow((x-i), 2) + pow((y-j), 2) ) <= pow(r + 1, 2)) and(( pow((x-i), 2) + pow((y-j), 2) ) >= pow(r-2, 2)):
            image2[i][j] = [0, 0, 255]        # Blue Color
              
# Iterating within the ring 
for i in range(189 / 3, 189 * 2 / 3):
    for j in range(267 / 3, 267 * 2 / 3):
          
        # Equation to draw 4 straight lines
        if ((i == 189 / 2) or (j == 267 / 2) or (i + 39 == j or (i + 39 + j == 266))) and (( pow((x-i), 2) + pow((y-j), 2) ) <= pow(r, 2)) :
            image2[i][j] = [0, 0, 255]        # Blue Color
  
io.imshow(image2)                           # Output

Producción:

Producción

Publicación traducida automáticamente

Artículo escrito por Krishna_Yadav 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 *