CardRecog is an app that recognizes playing cards from a standard deck. There are five modes that can be chosen in the settings; multiple, single, update, pre-flop and raw. You touch the screen to start recognition, hold the camera still, put some cards in front, and wait. You stay in recognition mode until you touch the screen again to return to idle mode. Once recognition occurs the recognized cards are displayed and sometimes spoken.
In raw mode recognized cards are shown without filtering and in real-time. In other modes once recognition occurs no further cards will be recognized unless you restart the recognition process. There are two ways to do this; the easiest is remove all cards from view for around 1/2 second, and then place the cards to be recognized in front of the camera. The second way is to touch the screen to stop recognition and go to idle, and touch the screen again to start recognition. The file http://www.kgrothapps.com/files/cardrecog-example.pdf has some example hands. If you do not own a set of Bicycle playing cards print the page and try recognition of the hands.
When you start recognition the camera focuses (if possible), so if recognition fails you should touch the screen to stop, and then touch again to restart recognition to be sure you have an in focus image.You can also tilt the cards slightly to see if that improves results. If recognition fails for all cards then try setting the ISO (if it is in the settings) to the highest possible value, instead of the default automatic.
For devices with auto focus (i.e. Nexus line) recognition works well even for a large number of cards. However, you always need an in focus image, and reasonably bright lighting. For lower end devices recognition will work well in single card mode, but fewer cards are recognized successfully in multiple card mode. But even for low end devices (including those with no auto focus) recognition works well in single card mode.
In multiple card mode if the bottom of a card is visible that card is still only recognized once. In single card mode we look for the same card number and suit in both the top and bottom of the card. So both must be visible before the card is recognized in single card mode, but only one is required for recognition in multiple card mode. In single card mode if multiple cards are present recognition fails, you need exactly one card. In update mode we can add/remove a single card at a time to a hand of cards. In raw mode the unfiltered results are shown and you do not need to repeatedly restart recognition. The current mode is shown in the action bar text.
In the long run I will integrate this app with different card games. A simple integration is pre-flop mode where we show the percentage odds for the first two cards in hold em poker. I also perform standard blackjack card counting (can force display of count in the settings) to demonstrate another card application.
Most card recognition systems (i.e. the Blackjack counting detection systems) look for the card outline. In my method I do not require the outline of the cards, instead I only look at the card number and the associated suit. So as long as the suit and number are visible recognition will occur successfully; the rest of the card can be occluded. Skip to 1 minute, 23 seconds of the video below and you will see successful recognition of cards in the typical "fan" shape used in card games. No other system that I know of can perform multi-card recognition as accurately and quickly.
The app is real time in the sense that it is recognizing a number of times a second, as shown in raw mode. In the other modes the results are grouped to achieve a consensus, which is why it takes one or two seconds for a recognition result. I believe this is the best card recognition system for something like Google glass where you are looking at the cards in someone's hands. I welcome any comments, but remember this is not a final product, it is a technology demo.
CardRecog è un app che riconosce carte da un mazzo standard. Ci sono cinque modalità che possono essere scelti nelle impostazioni; multipla, singola, aggiornamento, pre-flop e crudo. Si tocca lo schermo per avviare il riconoscimento, tenere ferma la fotocamera, mettere un po 'le carte di fronte, e aspettare. Potrete soggiornare in modalità di riconoscimento fino a toccare di nuovo lo schermo per tornare alla modalità di standby. Una volta che si verifica il riconoscimento delle carte riconosciuti vengono visualizzati e talvolta parlato.
In modalità raw carte riconosciuti sono indicati senza filtraggio e in tempo reale. In altri modi, una volta l'iscrizione avviene senza ulteriori carte saranno riconosciuti a meno che si riavvia il processo di riconoscimento. Ci sono due modi per farlo; il più semplice è rimuovere tutte le carte da vista per circa 1/2 secondo, e quindi posizionare le carte per essere riconosciuti di fronte alla telecamera. Il secondo modo è quello di toccare lo schermo per interrompere il riconoscimento e andare al minimo, e toccare di nuovo lo schermo per avviare il riconoscimento. Il file http://www.kgrothapps.com/files/cardrecog-example.pdf presenta alcuni esempi di mani. Se non si possiede un set di carte da gioco Bicycle stampare la pagina e provare il riconoscimento delle mani.
Quando si avvia il riconoscimento a fuoco della fotocamera (se possibile), quindi se il riconoscimento non si deve toccare lo schermo per fermarsi, e poi toccare di nuovo per riavviare il riconoscimento per essere sicuri di avere una messa a fuoco image.You può anche ribaltare le carte un po 'per vedere se che migliora i risultati. Se il riconoscimento non riesce per tutte le carte quindi provare a impostare l'ISO (se è nelle impostazioni) al valore più alto possibile, al posto del default automatica.
Per i dispositivi con messa a fuoco automatica (ovvero la linea Nexus) riconoscimento funziona bene anche per un gran numero di carte. Tuttavia, è sempre necessaria una immagine messa a fuoco, e l'illuminazione ragionevolmente luminosa. Per i dispositivi di fascia più bassa riconoscimento funziona bene in modalità a scheda singola, ma meno carte vengono riconosciuti con successo in modo scheda multipla. Ma anche per i dispositivi di fascia bassa (comprese quelle senza messa a fuoco automatica) riconoscimento funziona bene in modalità a scheda singola.
In modo scheda multipla se il fondo di una carta è visibile quella carta è ancora riconosciuto solo una volta. In modalità a scheda singola cerchiamo lo stesso numero della carta e il vestito sia nella parte superiore e inferiore della scheda. Quindi entrambi devono essere visibile prima che la scheda viene riconosciuta in modalità a scheda singola, ma solo uno è necessario per il riconoscimento in modo scheda multipla. In modalità a scheda singola, se più schede sono presenti il riconoscimento non riesce, è necessario esattamente una carta. In modalità di aggiornamento possiamo aggiungere / rimuovere una sola carta alla volta a una mano di carte. In modalità raw i risultati non filtrati vengono visualizzati e non è necessario riavviare più volte il riconoscimento. La modalità corrente è indicata nel testo barra delle azioni.
Nel lungo periodo mi integrare questa app con i diversi giochi di carte. Una semplice integrazione è la modalità pre-flop, dove mostriamo le quote percentuali per le prime due carte di hold em poker. Ho anche eseguo standard di conteggio delle carte blackjack (può forzare visualizzazione di conteggio nelle impostazioni) per dimostrare un'altra richiesta della carta.
La maggior parte dei sistemi di riconoscimento della carta (cioè i sistemi di rilevamento di conteggio Blackjack) cercare il contorno della carta. Nel mio metodo che non richiedono il contorno delle carte, invece guardo solo al numero della carta e il vestito associato. Quindi, fino a quando il seme e il numero di riconoscimento sono visibili avverrà con successo; il resto della carta può essere occluso. Vai a 1 minuto, 23 secondi di video qui sotto e vedrete successo riconoscimento delle carte nella tipica forma "fan" utilizzato in giochi di carte. Nessun altro sistema che conosco in grado di eseguire il riconoscimento multi-card con la massima precisione e rapidità.
L'applicazione è in tempo reale, nel senso che esso è riconoscere un numero di volte al secondo, come mostrato nella modalità raw. Nelle altre modalità i risultati sono raggruppati per raggiungere un consenso, ed è per questo che ci vuole uno o due secondi per un risultato di riconoscimento. Credo che questo sia il miglior sistema di riconoscimento della carta per qualcosa come Google vetro dove si sta guardando le carte nelle mani di qualcuno. Accolgo con favore qualsiasi commento, ma ricordo che non è un prodotto finale, si tratta di una demo della tecnologia.