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 es una aplicación que reconoce los naipes de una baraja estándar. Hay cinco modos que se pueden elegir en la configuración; , único, actualización, pre-flop múltiple y crudo. Usted toca la pantalla para iniciar el reconocimiento, mantenga la cámara fija, poner algunas tarjetas en frente, y esperar. Usted permanece en el modo de reconocimiento hasta que toque la pantalla otra vez para volver al modo inactivo. Una vez que se produce el reconocimiento de las tarjetas reconocidas se muestran y, a veces hablan.
En el modo sin procesar tarjetas reconocidas se muestran sin filtrar y en tiempo real. En otros modos una vez el reconocimiento se produce no hay más cartas serán reconocidos a menos que reinicie el proceso de reconocimiento. Hay dos maneras de hacer esto; la más fácil es quitar todas las cartas a la vista por alrededor de medio segundo, y luego colocan las cartas para ser reconocidos en frente de la cámara. La segunda forma es tocar la pantalla para detener el reconocimiento e ir a ralentí, y toque la pantalla otra vez para iniciar el reconocimiento. El http://www.kgrothapps.com/files/cardrecog-example.pdf archivo tiene algunos ejemplos de las manos. Si usted no posee un conjunto de bicicletas naipes imprima la página y tratar de reconocimiento de las manos.
Al iniciar el reconocimiento de la cámara enfoca (si es posible), así que si falla el reconocimiento que debe tocar la pantalla para detener y, a continuación, toque de nuevo para reiniciar el reconocimiento para asegurarse de que tiene un enfoque en image.You también puede inclinar las tarjetas un poco para ver si que mejora los resultados. Si el reconocimiento de falla para todas las tarjetas y luego intente configurar el ISO (si está en la configuración) al valor más alto posible, en lugar del predeterminado automático.
Para los dispositivos con enfoque automático (es decir, la línea Nexus) reconocimiento funciona bien incluso para un gran número de tarjetas. Sin embargo, siempre hay una imagen en foco, y la iluminación razonablemente brillante. Para los dispositivos de gama baja reconocimiento va a funcionar bien en el modo de una sola tarjeta, pero menos cartas están reconocidos con éxito en el modo de tarjetas múltiple. Pero incluso para los dispositivos de gama baja (incluyendo aquellos sin enfoque automático) reconocimiento funciona bien en el modo de una sola tarjeta.
En el modo de tarjeta de múltiples si la parte inferior de una tarjeta es visible que la tarjeta aún se reconoce solamente una vez. En el modo de una sola tarjeta buscamos el mismo número de tarjeta y la demanda en la parte superior e inferior de la tarjeta. Así que ambos deben ser visibles antes de la tarjeta se reconoce en modo de tarjeta única, pero sólo una es necesaria para su reconocimiento en el modo de tarjetas múltiple. En el modo de una sola tarjeta, si hay varias tarjetas falla presente reconocimiento, necesita exactamente una carta. En el modo de actualización podemos añadir / eliminar una sola tarjeta a la vez a una mano de cartas. En el modo sin procesar se muestran los resultados sin filtrar y no es necesario reiniciar repetidamente reconocimiento. El modo actual se muestra en el texto de la barra de acción.
A la larga, voy a integrar esta aplicación con diferentes juegos de cartas. Una integración simple es el modo de pre-flop donde mostramos las probabilidades porcentuales para las dos primeras cartas en hold em poker. También realizo el conteo de cartas de blackjack estándar (se puede forzar la visualización de la cuenta en la configuración) para demostrar otra solicitud de tarjeta.
La mayoría de los sistemas de reconocimiento de tarjeta (es decir, los sistemas de detección contando Blackjack) buscar el esquema de la tarjeta. En mi método no requiero el contorno de las cartas, en lugar de eso sólo miro el número de tarjeta y la demanda asociada. Así que, mientras la demanda y el número son el reconocimiento visible ocurrirá con éxito; el resto de la tarjeta puede ser ocluida. Saltar a 1 minuto, 23 segundos del vídeo a continuación y verás reconocimiento exitoso de tarjetas en la forma típica "fan" que se utiliza en los juegos de cartas. Ningún otro sistema, que yo sepa puede realizar el reconocimiento de la multi-tarjeta con la mayor precisión y rapidez.
La aplicación es en tiempo real, en el sentido de que es el reconocimiento de una serie de veces por segundo, como se muestra en el modo sin procesar. En los otros modos los resultados se agrupan para lograr un consenso, por lo que se tarda uno o dos segundos para que un resultado de reconocimiento. Creo que este es el mejor sistema de reconocimiento de la tarjeta para algo como Google cristal donde usted está buscando en las tarjetas en manos de alguien. Doy la bienvenida a cualquier comentario, pero recuerda que esto no es un producto final, es una demostración de la tecnología.