ECE497 Project Set Playing Beagle

From eLinux.org
Revision as of 18:34, 16 May 2011 by Allensj (talk | contribs)
Jump to: navigation, search

Team members: Samuel Allen, Stephen Mayhew, Julian Ametsitsi

Executive Summary

The game Set uses a 3 x 4 grid of 12 cards that have different symbols on them. They differ in shape, fill, and number. The goal is to find a set of three cards. Using the BeagleBoard, we have developed a system that uses a webcam to take a picture of the cards in play and uses OpenCV and Python to find the sets from the picture. Our system correctly identifies all of the sets in the hand that the image recognition provides. It can run completely on the Beagleboard and processes aproximately 1 frame per second. Currently, the image recognition is the downfall to our success. The image recognition does not find the correct symbols on the cards, and so the rest of the system does not find the correct sets. The sets that are found are correct for the found cards, but not the actual cards in play.

End with a two sentence conclusion.

The sentence count is approximate and only to give an idea of the expected length.

Installation Instructions

Give step by step instructions on how to install your project on the SPEd2 image.


  • First clone our github repository: git@github.com:mayhewsw/BeagleSetGame.git
git clone git@github.com:mayhewsw/BeagleSetGame.git 
  • Install python-opencv
 $ opkg install python-opencv 
  • You will also need a webcam and a way to mount it. We used a Sony Playstation Eye, but any webcam with at least 640x480 resolution should work. Our mount held the camera about 7 inches above the playing surface, and had it pointing straight down.

User Instructions

Once everything is installed, how do you use the program? Give details here, so if you have a long user manual, link to it here.

Highlights

Here is where you brag about what your project can do.

Consider including a YouTube demo.

Theory of Operation

Give a high level overview of the structure of your software. Are you using GStreamer? Show a diagram of the pipeline. Are you running multiple tasks? Show what they do and how they interact.

Work Breakdown

List the major tasks in your project and who did what.

Also list here what doesn't work yet and when you think it will be finished and who is finishing it.

Conclusions

Give some concluding thoughts about the project. Suggest some future additions that could make it even more interesting.