Desarrollador Python experimentado en visión por computadora requerido para crear una aplicación de escritorio. El objetivo principal es la lectura precisa de los valores de las cartas de juego en tiempo real, en el juego de Baccarat en casinos en línea con crupieres en vivo, y de acuerdo con la configuración establecida en el área de Configuración de la aplicación, que ordenará el cierre y la posterior reapertura del mismo sitio web que estaba abierto (la página del casino en línea).
Descripción del Proyecto
El software debe ser capaz de operar en cualquier casino en línea que ofrezca Baccarat con crupier en vivo, independientemente del proveedor de software (por ejemplo, Evolution Gaming, Ezugi, etc.) O la resolución de pantalla del usuario (desde pantallas de 720p hasta pantallas UHD de última generación).
Funciones Requeridas:
1. Reconocimiento en Tiempo Real de Cartas de Baccarat:
● La aplicación debe identificar y leer el valor de las cartas repartidas en mesas de Baccarat en vivo en casinos en línea.
● El reconocimiento debe ser altamente preciso (100%) y en tiempo real (latencia de 15-30 FPS) a pesar de ligeras variaciones en la posición de las cartas (hasta 7 mm de desplazamiento).
● Se debe implementar visión por computadora utilizando redes neuronales ligeras (por ejemplo, YOLOv5 o YOLOv8) para la detección dinámica de objetos.
● El sistema debe capturar toda la pantalla y procesarla para reconocer las cartas. IMPORTANTE: debe adaptarse a cualquier configuración o resolución de pantalla sin depender de coordenadas fijas.
2. Lectura Dinámica de la URL del Casino:
● El software debe ser capaz de identificar y leer la URL del casino en línea que está activo en el navegador en ese momento.
3. Sistema de Configuración y Reglas de Cierre Automatizado (Trigger):
● La aplicación debe incluir una interfaz gráfica de configuración accesible mediante un ícono de "engranaje" en la ventana principal (esquina superior derecha).
● En esta área, el usuario definirá reglas de "trigger" basadas en la suma de las cartas repartidas.
● Reglas para las dos primeras cartas (player y banker):
● el usuario especificará valores de suma de dos cartas para player (por ejemplo, 6, 7, 8, 9) y para banker que activarán el disparador.
● Si la suma de las dos primeras cartas de player o banker (según configuración) coincide con los valores definidos, el software debe ejecutar una acción inmediata.
● Reglas para la tercera carta (player y banker):
● el usuario podrá configurar reglas para cuando player y/o banker reciba una tercera carta y la suma total de las tres cartas alcance un valor especificado.
● Acción de Trigger: Cuando se cumpla una de las reglas de trigger:
● El software debe cerrar inmediatamente todo el navegador donde se está jugando el casino en línea. Este cierre debe ser abrupto, sin esperar el final de la ronda o las animaciones.
● Después de cerrar, el software debe esperar 3 segundos (
time.sleep) y luego volver a abrir el mismo navegador en la URL que estaba activa antes del cierre.
● La funcionalidad de cierre y reapertura debe ser compatible con los navegadores más comunes (Chrome, Edge, Firefox, etc.).
Interfaz de Usuario (UI):
● La interfaz debe ser simple y mostrar los valores de las cartas reconocidas una por una a medida que aparecen en pantalla.
● Los valores de las cartas deben mostrarse en formato de texto simple utilizando la fuente Arial, tamaño 24 o 26, con espaciado claro y centrado en la interfaz.
● Cuando se active un evento "trigger", debe mostrarse un mensaje rápido en pantalla que diga: "Cerrando ventana por reglas aplicadas".
Consideraciones Técnicas Clave:
● Lenguaje de Programación: Python.
● Visión por Computadora: Uso de librerías como OpenCV y frameworks de modelos de detección (YOLOv5/YOLOv8).
● Automatización Web/Escritorio: Posible uso de librerías como `subprocess`, `webbrowser`, `PyAutoGUI` o `psutil` para el control del navegador.
● Interfaz Gráfica: Se puede usar `tkinter` o `PyQt` para la UI.
● Entrega del código fuente completo en Python.
● Se agradece que los puntos expuestos dentro de "Consideraciones Técnicas Clave" sean los usados por el desarrollador postulante.
● Adicional: No se quiere trabajar con Tesseract OCR. No se quiere trabajar por medio de captura de pantalla con región fija o por medio de coordenadas de pantalla.
Este es un proyecto de precio fijo con un único pago de $350 USD.
Esperamos una solución precisa y eficiente que cumpla con los requisitos detallados.
Se valora la experiencia previa en proyectos de automatización, visión por computadora y gestión de procesos del sistema operativo.
Plazo de Entrega: 06 Agosto, 2025