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()