python - opencv
¿Qué es opencv?
OpenCV es una biblioteca libre desarrollada originalmente por Intel. Escrita originalmente en C/C++, su mejor virtud es que es multiplataforma y se puede ejecutar en diferentes lenguajes de programación como Java, Objective C, Python y en C#.
La visión artificial o por computadora se está utilizando cada vez más para el análisis y tratamiento de imágenes mediante algoritmos de inteligencia artificial. Uno de los usos más importantes de OpenCV en la visión por computadora es la detección de rostros y objetos, sobre todo en ámbitos como la fotografía, el marketing o la seguridad.
PASAR IMAGEN DE COLOR A GRIS
#!/bin/python3.9
import cv2
#"PATH DE LA IMAGEN", (0 = a gris). Por defecto 1, muestra a color)
imagen = cv2.imread('wallpapers.png',0)
#nombre de la visualizacion
cv2.imshow('Prueba de imagen', imagen)
#Guardar IMAGEN
cv2.imwrite("test.png",imagen)
#tiempo de visualizacion(milisegundos)
cv2.waitKey(1000)
#cerrar las ventanas abiertas durante el proceso
cv2.destroyAllWindows()
CAPTURAR IMAGENES CAMWEB
#! /bin/python3.9
#importo libreria opencv
import cv2
#creo un objeto "VideoCapture" al cual le paso el indice de la camara.
captura = cv2.VideoCapture(0) #iniciar la captura
#Leer la imagen a cada momento
while (captura.isOpened()):
#devuelve dos elemento True or False
ret,imagen = captura.read()
#si tenemos imagen
if ret == True:
#Que vamos a mostrar => imagen
cv2.imshow("video",imagen)
#opencv dice que usemos & 0xFF cuando usamos maquina de 64bits
if cv2.waitKey(1) & 0xFF == ord('s'): #la tecla "s" detiene el programa
break
#finalizamos la captura
captura.release()
#para cerrar cualquier ventana que puedo quedar abierta
cv2.destroyAllWindows()
GRABAR VIDEO
#! /bin/python3.9
#importo libreria opencv
import cv2
#creo un objeto "VideoCapture" al cual le paso el indice de la camara.
captura = cv2.VideoCapture(0) #iniciar la captura
#VideoWriter => permite pasar 4 argumentos
# *Nombre del Video
# *codec del video => *'XVID' este es el que se encuentra en la documentacion
# *fps
# *tamaño del video
salida = cv2.VideoWriter("VideoSalida.mp4",cv2.VideoWriter_fourcc(*'XVID'), \
60.0,(640,480))
#Leer la imagen a cada momento
while (captura.isOpened()):
#devuelve dos elemento True or False
ret,imagen = captura.read()
#si tenemos imagen
if ret == True:
#Que vamos a mostrar => imagen
cv2.imshow("video",imagen)
#incluyo en la salida la imagen que la camara
salida.write(imagen)
#opencv dice que usemos & 0xFF cuando usamos maquina de 64bits
if cv2.waitKey(1) & 0xFF == ord('s'): #la tecla "s" detiene el programa
break
#finalizamos la captura
captura.release()
#Finalizar la grabacion
salida.release()
#para cerrar cualquier ventana que puedo quedar abierta
cv2.destroyAllWindows()
REPRODUCIR VIDEO
#! /bin/python3.9
#importo libreria opencv
import cv2
#creo un objeto "VideoCapture" al cual le paso el PATH del video.
captura = cv2.VideoCapture('VideoSalida.mp4') #reproducir video grabado
#Leer la imagen a cada momento
while (captura.isOpened()):
#devuelve dos elemento True or False
ret,imagen = captura.read()
#si tenemos imagen
if ret == True:
#Que vamos a mostrar => imagen
cv2.imshow("video",imagen)
#opencv dice que usemos & 0xFF cuando usamos maquina de 64bits
if cv2.waitKey(1) & 0xFF == ord('s'): #la tecla "s" detiene el programa
break
#termina de reproducir el video y termina el programa
else:
break
#finalizamos la captura
captura.release()
#para cerrar cualquier ventana que puedo quedar abierta
cv2.destroyAllWindows()