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