54 lines
1.3 KiB
Python
54 lines
1.3 KiB
Python
|
import cv2
|
||
|
import numpy as np
|
||
|
|
||
|
def procesar_frame(frame):
|
||
|
"""
|
||
|
Función para procesar el frame de video
|
||
|
Puedes agregar aquí transformaciones o detección de líneas
|
||
|
"""
|
||
|
# Convertir a escala de grises
|
||
|
gris = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
|
||
|
|
||
|
# Aplicar desenfoque para reducir ruido
|
||
|
desenfoque = cv2.GaussianBlur(gris, (5, 5), 0)
|
||
|
|
||
|
# Detección de bordes con Canny
|
||
|
bordes = cv2.Canny(desenfoque, 50, 150)
|
||
|
|
||
|
return bordes
|
||
|
|
||
|
def streaming_camara():
|
||
|
# Iniciar captura de video
|
||
|
camara = cv2.VideoCapture(0)
|
||
|
|
||
|
if not camara.isOpened():
|
||
|
print("Error: No se puede abrir la cámara")
|
||
|
return
|
||
|
|
||
|
while True:
|
||
|
# Capturar frame
|
||
|
ret, frame = camara.read()
|
||
|
|
||
|
if not ret:
|
||
|
print("Error: No se puede capturar frame")
|
||
|
break
|
||
|
|
||
|
# Procesar frame
|
||
|
frame_procesado = procesar_frame(frame)
|
||
|
|
||
|
# Mostrar frames original y procesado
|
||
|
cv2.imshow('Video Original', frame)
|
||
|
cv2.imshow('Video Procesado', frame_procesado)
|
||
|
|
||
|
# Salir con tecla 'q'
|
||
|
tecla = cv2.waitKey(1)
|
||
|
if tecla & 0xFF == ord('q'):
|
||
|
break
|
||
|
|
||
|
# Liberar recursos
|
||
|
camara.release()
|
||
|
cv2.destroyAllWindows()
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
streaming_camara()
|