Control de Accesos y Lectura de Matrículas en Tiempo Real (~1.0s)
Sustituye la verificación manual con listados en papel en la puerta de eventos con alto flujo de vehículos. El vigilante fotografía el coche o dicta los números por Telegram y recibe confirmación de pase en menos de un segundo.
- Failover Multimodal en Cascada: Conmutación transparente entre Qwen-VL-Flash, Gemini Flash y GPT-4o-mini ante caídas o límites de cuota.
- Normalizador Español Dual: Expresiones regulares para matrículas europeas modernas (
4821MNP) y provinciales antiguas (VA9213AL) + sugerencia difusa a distancia de edición 1. - Auditoría en Vivo: Botones inline de entrada/salida conectados a
registros.csvy panel web de supervisión expuesto por túnel Cloudflare.
def extract_plate_from_text(text: str) -> Optional[str]: text = text.upper().strip() # 1) Formato moderno: 4 dígitos + 3 consonantes m_mod = re.search( r'([0-9]{4})\s*[- ]?\s*([BCDFGHJKLMNPRSTVWXYZ]{3})', text ) if m_mod: return f"{m_mod.group(1)}{m_mod.group(2)}" # 2) Formato provincial (ej. VA 1234 AB) m_prv = re.search( r'([A-Z]{1,2})\s*[- ]?\s*([0-9]{4})\s*[- ]?\s*([A-Z]{1,2})', text ) if m_prv: return f"{m_prv.group(1)}{m_prv.group(2)}{m_prv.group(3)}"