Menú principal

martes, 9 de febrero de 2021

Convertir imagen a escala de grises - Python

En primer lugar se debe importar la biblioteca 'cv2' que nos permitirá resolver problemas de visión artificial en imágenes. Lo haremos con la siguiente línea de código:
import cv2

Es importante que en el ubicación donde está guardado el .py con el que estamos trabajando, se aloje también la imagen con la que trabajaremos. En mi caso trabajaré con un tablero de parchís.

Una vez que tenemos preparada la imagen en el directorio, procedemos a leerla y a guardarla en una variable llamada img_color. Para ello, utilizaremos la biblioteca cv2 la cual consta de un método imread(). En los paréntesis pondremos el nombre de la imagen que vamos a tratar entre comillas:

img_color = cv2.imread('parchis.png')

Ahora se procede a hacer la transformación a escala de grises. Utilizaremos primeramente el método cvtColor() de la biblioteca cv2 pasando como parámetros la imagen que queremos convertir, en mi caso img_color, y seguidamente COLOR_BGR2GRAY. Esta transformación la guardaremos en la variable img_gray.

img_gray = cv2.cvtColor(img_color, cv2.COLOR_BGR2GRAY)

Mostraremos el resultado obtenido por pantalla con imshow() y destruiremos las ventanas generadas con waitKey() y destroyAllWindows().

cv2.imshow('Color', img_color)
cv2.imshow('Gris', img_gray)
cv2.waitKey(0)
cv2.destroyAllWindows()

Finalmente guardaremos la imagen de escala de grises con el nombre que queramos indicándolo entre comillas. Para ello, haremos uso del método imwrite() de la siguiente forma:

cv2.imwrite('Mi_img_gris.png', img_gray)

Código completo:

import cv2

#cargar imagen a color de parchis
img_color = cv2.imread('parchis.png')   

#Transformacion a gris 
img_gray = cv2.cvtColor(img_color, cv2.COLOR_BGR2GRAY)

#Mostrar imagenes por pantalla
cv2.imshow('Color', img_color)
cv2.imshow('Gris', img_gray)

#Cerrar ventanas
cv2.waitKey(0)
cv2.destroyAllWindows()

#Guardar imagen gris generada
cv2.imwrite('Mi_img_gris.png', img_gray)

Resultado obtenido:

No hay comentarios:

Publicar un comentario