ComputerVisionProject / test_camera.py
jarondon82's picture
Agregar script de prueba de cámara simple
aa93265
raw
history blame
2.41 kB
import cv2
import time
def main():
"""
Prueba simple de la cámara con dibujo de rectángulos de prueba
para verificar el funcionamiento básico.
"""
print("Iniciando prueba de cámara...")
# Iniciar la cámara
cap = cv2.VideoCapture(0)
if not cap.isOpened():
print("Error: No se pudo abrir la cámara.")
return
print("Cámara iniciada correctamente. Presione 'q' para salir.")
# Contador de frames
frame_count = 0
start_time = time.time()
while True:
# Leer un frame de la cámara
ret, frame = cap.read()
if not ret:
print("Error al capturar el frame.")
break
# Incrementar contador
frame_count += 1
elapsed = time.time() - start_time
fps = frame_count / elapsed if elapsed > 0 else 0
# Crear copia del frame para dibujar
display_frame = frame.copy()
# Dibujar rectángulo de prueba en la esquina superior izquierda
cv2.rectangle(display_frame, (50, 50), (200, 200), (0, 0, 255), 3)
cv2.putText(display_frame, "Test Rectangle", (50, 40),
cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255), 2)
# Dibujar otro rectángulo en el centro de la imagen
h, w = display_frame.shape[:2]
center_x, center_y = w // 2, h // 2
cv2.rectangle(display_frame,
(center_x - 100, center_y - 100),
(center_x + 100, center_y + 100),
(0, 255, 0), 3)
cv2.putText(display_frame, "Center Box", (center_x - 80, center_y - 110),
cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 255, 0), 2)
# Mostrar información de FPS
cv2.putText(display_frame, f"FPS: {fps:.1f}", (10, h - 20),
cv2.FONT_HERSHEY_SIMPLEX, 0.7, (255, 0, 0), 2)
# Mostrar resultado
cv2.imshow("Test Camera", display_frame)
# Salir si se presiona 'q'
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# Imprime estadísticas
print(f"Frames totales: {frame_count}")
print(f"Tiempo total: {elapsed:.2f} segundos")
print(f"FPS promedio: {fps:.1f}")
# Liberar recursos
cap.release()
cv2.destroyAllWindows()
if __name__ == "__main__":
main()