Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Plantel Colomos
Ingeniería en Desarrollo de Software
Procesamiento de Imágenes
REPORTE DE PRÁCTICA
IDENTIFICACIÓN DE LA PRÁCTICA
OBJETIVO
El objetivo de esta práctica consiste en implementar los diferentes métodos de conversión de imágenes
en formato RGB a escala de grises.
PROCEDIMIENTO
Realiza la implementación siguiendo estas instrucciones.
Realiza un programa en Python utilizando OpenCV en el que leas una imagen a color y la conviertas a gris
mediante los siguientes métodos de conversión.
1. Método del promedio
2. Los tres métodos de luma.
3. Desaturación
4. Descomposición máxima y mínima.
Reporta los resultados obtenidos.
IMPLEMENTACIÓN
Agrega el código de tu implementación aquí.
import cv2 as cv
import numpy as np
PROMEDIO
imgPro = np.zeros([rows,cols])
for i in range(rows):
for j in range(cols):
pixel = (np.double(img[i,j,0]) + np.double(img[i,j,1]) +
np.double(img[i,j,2]))/3
1
Centro de Enseñanza Técnica Industrial
Plantel Colomos
Ingeniería en Desarrollo de Software
Procesamiento de Imágenes
imgPro[i,j] = pixel
imgPro = np.uint8(imgPro)
cv2_imshow(imgPro)
METODOS DE LUMA
imgLuma = np.zeros([rows,cols])
for i in range(rows):
for j in range(cols):
pixel = ((np.double(img[i,j,0])*0.3) + (np.double(img[i,j,1])*0.59) +
(np.double(img[i,j,2])*0.11))
imgLuma[i,j] = pixel
imgLuma = np.uint8(imgLuma)
cv2_imshow(imgLuma)
LUMA BT.709
imgLumaB = np.zeros([rows,cols])
for i in range(rows):
for j in range(cols):
pixel = ((np.double(img[i,j,0])*0.2126) + (np.double(img[i,j,1])*0.7152) +
(np.double(img[i,j,2])*0.0722))
imgLumaB[i,j] = pixel
imgLumaB = np.uint8(imgLumaB)
cv2_imshow(imgLumaB)
LUMA MATLAB
imgLumaM = np.zeros([rows,cols])
for i in range(rows):
for j in range(cols):
pixel = ((np.double(img[i,j,0])*0.299) + (np.double(img[i,j,1])*0.587) +
(np.double(img[i,j,2])*0.114))
imgLumaM[i,j] = pixel
imgLumaM = np.uint8(imgLumaM)
cv2_imshow(imgLumaM)
DESATURACION
rows = np.size(img, axis=0)
cols = np.size(img, axis=1)
imgDes = np.zeros([rows,cols])
for i in range(rows):
for j in range(cols):
pixel = (np.double(max(img[i,j,0],img[i,j,1],img[i,j,2])) +
np.double(min(img[i,j,0],img[i,j,1],img[i,j,2])))/2
imgDes[i,j] = pixel
imgDes = np.uint8(imgDes)
2
Centro de Enseñanza Técnica Industrial
Plantel Colomos
Ingeniería en Desarrollo de Software
Procesamiento de Imágenes
cv2_imshow(imgDes)
DESCOMPOSICION MINIMA
imgMinDes = np.zeros([rows,cols])
for i in range(rows):
for j in range(cols):
pixel = (np.double(max(img[i,j,0],img[i,j,1],img[i,j,2])))
imgMinDes[i,j] = pixel
imgMinDes = np.uint8(imgMinDes)
cv2_imshow(imgMinDes)
DESCOMPOSICION
rows = np.size(img, axis=0)
cols = np.size(img, axis=1)
imgDes = np.zeros([rows,cols])
for i in range(rows):
for j in range(cols):
pixel = (np.double(max(img[i,j,0],img[i,j,1],img[i,j,2])) +
np.double(min(img[i,j,0],img[i,j,1],img[i,j,2])))/2
imgDes[i,j] = pixel
imgDes = np.uint8(imgDes)
cv2_imshow(imgDes)
3
Centro de Enseñanza Técnica Industrial
Plantel Colomos
Ingeniería en Desarrollo de Software
Procesamiento de Imágenes
RESULTADOS
Agrega la imagen original y la(s) imágenes procesadas en los espacios indicados.
4
Centro de Enseñanza Técnica Industrial
Plantel Colomos
Ingeniería en Desarrollo de Software
Procesamiento de Imágenes
Luma 1 Luma BT.709
5
Centro de Enseñanza Técnica Industrial
Plantel Colomos
Ingeniería en Desarrollo de Software
Procesamiento de Imágenes
CONCLUSIONES
Escribe tus observaciones y conclusiones.
Al aplicar el método promedio para obtener la saturación máxima o la desaturación en una imagen RGB, puedes
lograr efectos visuales específicos en función de tus necesidades artísticas o de edición. La saturación máxima
resaltará los colores intensos, mientras que la desaturación suavizará los colores.