Recognition of Playing Card Values in Online Casinos.
Experienced Python developer in computer vision needed to create a desktop application. The main goal is the accurate reading of playing card values in real-time, in the game of Baccarat at online casinos with live dealers, and in accordance with the configuration set in the application's Settings area, which will command the closure and subsequent reopening of the same website that was open (the online casino page).
Project Description
The software must be capable of operating on any online casino that offers live dealer Baccarat, regardless of the software provider (e.g., Evolution Gaming, Ezugi, etc.) or the user’s screen resolution (from 720p screens to next-gen UHD displays).
Required Features:
1. Real-Time Recognition of Baccarat Cards:
● The application must identify and read the value of cards dealt in live Baccarat tables at online casinos.
● Recognition must be highly accurate (100%) and in real-time (15-30 FPS latency) despite slight variations in card position (up to 7mm displacement).
● Computer vision must be implemented using lightweight neural networks (e.g., YOLOv5 or YOLOv8) for dynamic object detection.
● The system must capture the full screen and process it to recognize cards, IMPORTANT: adapting to any screen configuration or resolution without relying on fixed coordinates.
2. Dynamic Reading of Casino URL:
● The software must be able to identify and read the URL of the currently active online casino in the browser.
3. Settings System and Automated Closing Rules (Trigger):
● The application must include a graphical configuration interface accessible via a "gear" icon on the main window (top-right corner).
● In this area, the user will define “trigger” rules based on the sum of the dealt cards.
● Rules for the first two cards (PLAYER and BANKER):
● The user will specify two-card sum values for PLAYER (e.g., 6, 7, 8, 9) and BANKER that will trigger the rule.
● If the sum of the first two cards of PLAYER or BANKER (according to configuration) matches the defined values, the software must execute an immediate action.
● Rules for the third card (PLAYER and BANKER):
● The user may configure rules for when PLAYER and/or BANKER receives a third card and the total sum of all three cards reaches a specified value.
● Trigger Action: When one of the trigger rules is met:
● The software must immediately close the entire browser where the online casino is being played. This shutdown must be abrupt, without waiting for the end of the round or animations.
● After closing, the software must wait 3 seconds (time.sleep) and then reopen the same browser at the URL that was active before the shutdown.
● The closing and reopening functionality must be compatible with major browsers (Chrome, Edge, Firefox, etc.).
User Interface (UI):
● The interface should be simple and display the recognized card values one by one as they appear on the screen.
● Card values should be displayed in plain text format using Arial font, size 24 or 26, clearly spaced and centered on the interface.
● When a “trigger” event is activated, a quick on-screen message should display: "Cerrando ventana por reglas aplicadas".
Key Technical Considerations:
● Programming Language: Python.
● Computer Vision: Use of libraries such as OpenCV and detection model frameworks (YOLOv5/YOLOv8).
● Web/Desktop Automation: Possible use of libraries like `subprocess`, `webbrowser`, `PyAutoGUI`, or `psutil` for browser control.
● Graphical Interface: `tkinter` or `PyQt` can be used for the UI.
● Delivery of the complete Python source code.
● It is appreciated that the points presented under "Key Technical Considerations" are the ones used by the developer applying.
● Additional: We do not want to work with Tesseract OCR. We do not want to work via screenshot with a fixed region or using screen coordinates.
This is a fixed-price project with a one-time payment of $350 USD.
We expect a precise and efficient solution that meets the detailed requirements.
Previous experience in automation projects, computer vision, and system process management is highly valued.