Está en la página 1de 10

UNIVERSIDAD NACIONAL DE SAN AGUSTIN

FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS


ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMA

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación


Aprobación: 2022/03/01 Código: GUIA-PRLE-001 Página: 1

INFORME DE LABORATORIO
(formato estudiante)
INFORMACIÓN BÁSICA
ASIGNATURA: Computación Gráfica, Visión Computacional y Multimedia
TÍTULO DE LA
Avance del proyecto final
PRÁCTICA:
NÚMERO DE NRO.
PRÁCTICA:
9 AÑO LECTIVO: 2022A SEMESTRE:
SEMESTRE IX
HORA DE
FECHA DE
05/07/2022 PRESENTACIÓ
PRESENTACIÓN
N
INTEGRANTE (s):
NOTA:
Lucas Benavides Jair Lenin
DOCENTE(s):
Diego Alonso Iquira Becerra

SOLUCIÓN Y RESULTADOS
I. SOLUCIÓN DE EJERCICIOS/PROBLEMAS

IMAGEN ESCOGIDA (ANIMAL O PERSONA) 2

CANAL AZUL DE LA FIGURA 2

IMAGEN EN ESCALA DE GRISES 2

IMAGEN QUE CONTIENE SOLO LOS CANALES ROJO Y VERDE 2

DIBUJAR UN CÍRCULO SOBRE LA CARA DE DICHA FIGURA 2

AGREGUEN UN TEXTO QUE DESCRIBA QUE ES (persona, perro, gato) 2

GUARDAR LA FIGURA CON LOS CÍRCULOS DIBUJADOS 2


UNIVERSIDAD NACIONAL DE SAN AGUSTIN
FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMA

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación


Aprobación: 2022/03/01 Código: GUIA-PRLE-001 Página: 2

IMAGENES ESCOGIDA (ANIMAL O PERSONA)

La imagen a utilizar es la de una mujer con camisa negra y falda rojal.

Para el desarrollo del código se realizaron las siguientes librerías

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
UNIVERSIDAD NACIONAL DE SAN AGUSTIN
FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMA

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación


Aprobación: 2022/03/01 Código: GUIA-PRLE-001 Página: 3

CANAL AZUL DE LA FIGURA

Se guarda la imagen descargada en la variable image


Se convierte la imagen a un arreglo
Se realiza una copia de la imagen para extraer el canal azul
Los canales que corresponden a rojo y verde son igualados a 0
Finalmente se grafica la imagen en su capa azul

image = Image.open('girl.jpg')
image_arr = np.array(image)
image_blue = image_arr.copy()
image_blue[:,:,0] = 0
image_blue[:,:,1] = 0
plt.imshow(image_blue)
UNIVERSIDAD NACIONAL DE SAN AGUSTIN
FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMA

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación


Aprobación: 2022/03/01 Código: GUIA-PRLE-001 Página: 4

IMAGEN EN ESCALA DE GRISES

Se lee la imagen utilizando la librería opencv


Se define los canales de la imagen R, G, B
Lo canales son multiplicados por un ponderado y asignados a la variable gris
gris se convierte en una valor con tipos flotantes por ello se convierte al tipo uint8
Se muestra la imagen en otra ventana que durará 5 segundo y después se cerrará

im = cv.imread('girl.jpg')
R = im[:,:,2]
G = im[:,:,1]
B = im[:,:,0]
gris = R*0.2126 + G*0.7152 + B*0.0722
gris = gris.astype(np.uint8)
cv.imshow('imagen', gris)
cv.waitKey(5000)
cv.destroyAllWindows()
UNIVERSIDAD NACIONAL DE SAN AGUSTIN
FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMA

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación


Aprobación: 2022/03/01 Código: GUIA-PRLE-001 Página: 5

IMAGEN QUE CONTIENE SOLO LOS CANALES ROJO Y VERDE

- Se importa la imagen con el método imread de opencv


- El canal azul lo igualamos a 0 para que solo queden los canales rojo y verde en la imagen
- Mostramos la imagen con el método imshow

imagen = cv.imread('girl.jpg')
imagen[:,:,0]=0
cv.imshow('imagen', imagen)
cv.waitKey(5000)
cv.destroyAllWindows()
UNIVERSIDAD NACIONAL DE SAN AGUSTIN
FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMA

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación


Aprobación: 2022/03/01 Código: GUIA-PRLE-001 Página: 6

DIBUJAR UN CÍRCULO SOBRE LA CARA DE DICHA FIGURA

- Se importa la imagen
- Se dibuja el círculo utilizando el método circle de opencv que solicita
- Nombre de la imagen donde se dibujara
- Coordenada para que sea el centro del círculo
- Color de la linea del circulo
- Grosor de la línea
- Finalmente se muestra la imagen con el círculo dibujado

imagen = cv.imread('girl.jpg')
cv.circle(imagen, (205,65), 42, (0,255,255), 3)
cv.imshow('imagen', imagen)
cv.waitKey(5000)
cv.destroyAllWindows()
UNIVERSIDAD NACIONAL DE SAN AGUSTIN
FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMA

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación


Aprobación: 2022/03/01 Código: GUIA-PRLE-001 Página: 7

AGREGUEN UN TEXTO QUE DESCRIBA QUE ES (persona, perro, gato)

Se ingresa el texto utilizando el método putText de opencv y detallando las características que tendra
el texto
imagen = cv.imread('girl.jpg')
cv.circle(output, (205,65), 42, (0,255,255), 3)
texto = "woman"
ubicacion = (150,130)
font = cv.FONT_HERSHEY_SIMPLEX
tamañoLetra = 1
colorLetra = (0,255,255)
grosorLetra = 2
cv.putText(imagen, texto, ubicacion, font, tamañoLetra, colorLetra, grosorLetra)
cv.imshow('imagen', imagen)
cv.waitKey(5000)
cv.destroyAllWindows()
UNIVERSIDAD NACIONAL DE SAN AGUSTIN
FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMA

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación


Aprobación: 2022/03/01 Código: GUIA-PRLE-001 Página: 8

GUARDAR LA FIGURA CON LOS CÍRCULOS DIBUJADOS

Para poder guardar la imagen generada se utiliza el método imwrite de opencv donde se le especifica
el nombre que tendrá el archivo que se guardara y el nombre de la variable que contiene la imagen en
el programa

imagen = cv.imread('girl.jpg')
print(type(imagen))
np.shape(imagen)
cv.circle(output, (205,65), 42, (0,255,255), 3)
texto = "woman"
ubicacion = (150,130)
#font = cv.FONT_HERSHEY_TRIPLEX
font = cv.FONT_HERSHEY_SIMPLEX
tamañoLetra = 1
colorLetra = (0,255,255)
grosorLetra = 2
cv.putText(output, texto, ubicacion, font, tamañoLetra, colorLetra, grosorLetra)
cv.imwrite("girl_edited.jpg", imagen)
cv.imshow('imagen', output)
cv.waitKey(5000)
cv.destroyAllWindows()

Vista de la imagen editada en el explorador de archivos de Jupiter

Vista de la imagen editada en el explorador de archivos local


UNIVERSIDAD NACIONAL DE SAN AGUSTIN
FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMA

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación


Aprobación: 2022/03/01 Código: GUIA-PRLE-001 Página: 9

II. SOLUCIÓN DEL CUESTIONARIO

1. ¿Qué otros modelos de colores existen para las imágenes?


A parte del modelo RGB y CMYK podemos encontrar el modelo HSL que define la matiz, saturación e
intensidad y se representa gráficamente como un cono doble

2. ¿Qué otros cambios se pueden realizar a las imágenes con OpenCV?


Se puede realizar una detección de bordes de la imagen y la eliminación del ruido que podría tener
además de modificar las propiedades como el difuminado o el brillo.

III. CONCLUSIONES
OpenCV es una librería muy completa para el tratamiento de las imágenes, con esta librería se
pueden realizar muchas modificaciones a las imágenes con el previo conocimiento de cómo están
compuestas estas imágenes, y cómo se representan en OpenCV.
UNIVERSIDAD NACIONAL DE SAN AGUSTIN
FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMA

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación


Aprobación: 2022/03/01 Código: GUIA-PRLE-001 Página: 10

RETROALIMENTACIÓN GENERAL

REFERENCIAS Y BIBLIOGRAFÍA

También podría gustarte