ECE497 Project Set Playing Beagle
Team members: Stephen Mayhew, Samuel Allen, Julian Ametsitsi
Description
Using a webcam, a projector, and possibly a microphone, this system will allow the computer to play Set. Set is a card game which involves finding patterns among a 12-card layout. The instructor at this website makes the interesting point that for humans, it is easy to gather information about the cards, but hard to find sets. For computers, it is the opposite: even with a brute force algorithm, it is a trivial matter to find all sets in a layout, but it is difficult to read the cards.
Our github page is:
https://github.com/mayhewsw/BeagleSetGame
Game Play
It will be a command line application, written in Python using the OpenCV Python bindings.
Basic Flow:
- Start the program
- Set out the cards
- When there are 12 cards, the program will start to recognize cards and find sets
- When the computer finds a set, it will project the locations of the cards onto the playing surface
- If the computer can't find a set, then project red X, or speech synthesis "No set", or print to console
If there is time:
- If a human finds a set - user input: click, speech recognition - and computer stops looking
- Speech synthesis - ask for confirmation on sets (could also be command line - much easier)
Tasks
- Decide on final functionality
- Come up with the hardware setup, frame to hold the camera and projector
- Test OpenCV on the Beagle - Stephen
- Learn how to stream video input using OpenCV (or PyGame) - Sam
- Finish the Set card recognizer - Stephen
- Bring the system together - Everybody
- Test the DLPpico projector, get it to communicate with the camera - Julian
- Install emacs on the Beagle so we don't have to deal with vi - Stephen
Completed tasks:
- OpenCV is installed on my Beagle - Stephen
- Game logic has been acquired - Stephen