Lista de contenido:
- Introducción a OpenCV
- Leer imágenes en escala de grises.
- WaitKey y namedWindow
- Canales de color RGB (rojo, verde y azul).
- Formato RGB(rojo, verde, azul) a formato HSV(matiz, saturación y valor).
________________________________________
1. Introducción a OpenCV.
________________________________________
import cv2 # Importamos la librería OpenCV
# Leemos la imagen utilizando la función cv2.imread().
im = cv2.imread("icono.jpg")
# Mostramos la imagen utilizando la función cv2.imshow().
cv2.imshow("Mi Imagen", im)
# La función cv2.waitKey() espera a que se presione una tecla para cerrar la ventana.
cv2.waitKey(0)#El argumento 0 indica que esperará indefinidamente.
# Finalmente, destruimos todas las ventanas abiertas con la función cv2.destroyAllWindows().
cv2.destroyAllWindows()
________________________________________
2. Leer imágenes en escala de grises.
________________________________________
import cv2 # Importamos la librería OpenCV
# Leemos la imagen en escala de grises utilizando la función cv2.imread().
imagen_gris = cv2.imread("icono.jpg", cv2.IMREAD_GRAYSCALE)
# Mostramos la imagen en una ventana utilizando la función cv2.imshow().
cv2.imshow("Mi imagen en escala de grises", imagen_gris)
# La función cv2.waitKey() espera a que se presione una tecla para cerrar la ventana.
cv2.waitKey(0)
# Finalmente, destruimos todas las ventanas abiertas con la función cv2.
cv2.destroyAllWindows()
import cv2 # Importamos la librería OpenCV
#leemos la imagen
img = cv2.imread("icono.jpg")
img_gris = cv2.imread("icono.jpg",0)#El 0 remplaza el cv2.IMREAD_GRAYSCALE
#mostramos la imagen en una ventana
cv2.imshow("ventana",img)
while True:
key = cv2.waitKey() #leemos la tecla presionada
if key == ord("4"):
cv2.imshow("ventana",img)
elif key == ord("f"): # muestra la imagen en escala de grises
cv2.imshow("ventana",img_gris)
else:
break #cualquier otra tecla
#destruimos todas las ventanas
cv2.destroyAllWindows()
import cv2 # Importamos la librería OpenCV
#leemos la imagen
img = cv2.imread("icono.jpg")
img_gris = cv2.imread("icono.jpg",0)#El 0 remplaza el cv2.IMREAD_GRAYSCALE
# Creamos una ventana redimensionable
cv2.namedWindow("ventana", cv2.WINDOW_NORMAL)
# Mostramos la imagen en la ventana
cv2.imshow("ventana",img)
while True:
key = cv2.waitKey() #leemos la tecla presionada
if key == ord("4"):
cv2.imshow("ventana",img)
elif key == ord("f"): # muestra la imagen en escala de grises
cv2.imshow("ventana",img_gris)
else:
break #cualquier otra tecla
#destruimos todas las ventanas
cv2.destroyAllWindows()
________________________________________
import cv2 # Importamos la librería OpenCV
#leemos la imagen
img = cv2.imread("image.png")
img_gris = cv2.imread("icono.jpg",0)#El 0 remplaza el cv2.IMREAD_GRAYSCALE
# Separamos la imagen en sus canales de color
b, g, r = cv2.split(img)
# Mostramos cada canal de color en una ventana
cv2.imshow("ventana", img)
cv2.imshow("Canal azul", b)
cv2.imshow("Canal verde", g)
cv2.imshow("Canal rojo", r)
cv2.waitKey(0) #El argumento 0 indica que esperará indefinidamente.
#destruimos todas las ventanas
cv2.destroyAllWindows()
________________________________________
5.Formato RGB(rojo, verde, azul) a formato HSV(matiz, saturación y valor).
________________________________________
import cv2 # Importamos la librería OpenCV
#leemos la imagen
img = cv2.imread("image.png")
img_gris = cv2.imread("icono.jpg",0)#El 0 remplaza el cv2.IMREAD_GRAYSCALE
# Convertimos la imagen de RGB a HSV
img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# Separamos la imagen en sus canales de color
h, s, v = cv2.split(img_hsv)
# Mostramos cada canal de color en una ventana
cv2.imshow("HSV", img_hsv)
cv2.imshow("Canal matiz", h)
cv2.imshow("Canal saturacion", s)
cv2.imshow("Canal valor", v)
cv2.waitKey(0) #El argumento 0 indica que esperará indefinidamente.
#destruimos todas las ventanas
cv2.destroyAllWindows()
________________________________________
6.Trabajando con los pixeles.
________________________________________
import cv2
import numpy as np
# Abre la imagen
imagen = cv2.imread("dos_image.jpg")
cv2.imshow("ventana", imagen)
# Obtiene el ancho y alto de la imagen
alto, ancho, _ = imagen.shape
# Crea una nueva matriz con las mismas dimensiones que la imagen original
imagen_modificada = np.empty((alto, ancho, 3), dtype=np.uint8)
# Recorre la matriz de la imagen original y copia los píxeles en la matriz modificada
for y in range(alto):
for x in range(ancho):
imagen_modificada[y, ancho-x-1] = imagen[y, x]
# Guarda la imagen modificada
cv2.imwrite("image_invertida.jpg", imagen_modificada)
image_mod = cv2.imread("image_invertida.jpg")
cv2.imshow("invertida", image_mod)
cv2.waitKey(0) #El argumento 0 indica que esperará indefinidamente.
#destruimos todas las ventanas
cv2.destroyAllWindows()
0 Comentarios