szaza / set-detector

This object detection application is able to play the classic SET card game.
0 stars 0 forks source link

SET detector

Application to detect SET of cards

This application is able to recognize the SET cards and to play the classic game. It is composed up from three parts:

The SET card game

Set is a real-time card game published by the Set Enterprises in 1991. The deck consist of 81 cards varying in four features:

A set consist of three cards satisfying all of the following conditions:

For example these three cards form a set:

<img src="https://github.com/szaza/set-detector/blob/master/samples/set-game-cards.png" title="sample set cards" alt="sample set cards" width="400"/>

The SET detector application

This application is composed up by two main part:

Let's see how the android application works:

1) First you have to take a picture and send it to the server;

<img src="https://github.com/szaza/set-detector/blob/master/samples/set-detector-android-take-picture.png" alt="SET detector take a picture" title="SET detector take a picture" width="300" />

2) The server processes your image and sends back the response what will be presented by the client application;

<img src="https://github.com/szaza/set-detector/blob/master/samples/android-recognized-cards-1.png" alt="recognized SET cards" title="recognized SET cards" width="260"/> <img src="https://github.com/szaza/set-detector/blob/master/samples/android-recognized-cards-2.png" alt="SET detected" title="SET detected" width="260"/> <img src="https://github.com/szaza/set-detector/blob/master/samples/android-recognized-cards-3.png" alt="SET2 detected" title="SET2 detected" width="260"/>

Compile and run the application

1) Compile and run the server side

Before compiling the server project, you have to do the following steps:

<img src="https://github.com/szaza/set-detector/blob/master/samples/set-detector-web.png" alt="SET detector web application" title="SET detector web application" width="500"/>

2) Compile and run the client side application

Previous work

I reused some parts of my previous project to create this one: