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 est une application qui reconnaît cartes à jouer à partir d'un jeu standard. Il ya cinq modes qui peuvent être choisis dans les paramètres; , unique, mise à jour, pré-flop multiples et des matières premières. Vous touchez l'écran pour lancer la reconnaissance, maintenez l'appareil photo, mettre quelques cartes à l'avant, et d'attendre. Vous restez en mode de reconnaissance jusqu'à ce que vous touchez à nouveau l'écran pour revenir au mode veille. Une fois la reconnaissance se produit les cartes reconnus sont affichés et parfois parlées.
En mode brut cartes reconnues sont montrées sans filtrage et en temps réel. Dans les autres modes une fois la reconnaissance se produit pas d'autres cartes seront reconnues, à moins que vous redémarrez le processus de reconnaissance. Il ya deux façons de le faire; le plus facile est de retirer toutes les cartes de la vue pour environ 1/2 seconde, puis placez les cartes pour être reconnus en face de la caméra. La deuxième façon est de toucher l'écran pour arrêter la reconnaissance et aller au ralenti, puis touchez à nouveau l'écran pour lancer la reconnaissance. Le http://www.kgrothapps.com/files/cardrecog-example.pdf de fichier a quelques exemples de mains. Si vous ne possédez pas un ensemble de cartes à jouer de vélos imprimer la page et essayer de reconnaissance des mains.
Lorsque vous démarrez la reconnaissance de l'appareil photo (si possible), si la reconnaissance échoue, vous doit toucher l'écran pour arrêter, puis touchez à nouveau pour redémarrer la reconnaissance pour être sûr que vous avez une mise au point image.You permet aussi d'incliner légèrement les cartes pour voir si cela améliore les résultats. Si la reconnaissance échoue pour toutes les cartes puis essayez de définir l'ISO (si elle est dans les paramètres) à la valeur la plus élevée possible, au lieu de la valeur par défaut automatique.
Pour les appareils avec mise au point automatique (c.-à-ligne de Nexus) la reconnaissance fonctionne bien, même pour un grand nombre de cartes. Cependant, vous avez toujours besoin d'une image de mise au point, et l'éclairage raisonnablement lumineux. Pour les appareils bas de gamme reconnaissance va bien travailler en mode carte unique, mais moins de cartes sont reconnus avec succès en mode carte multiple. Mais même pour les appareils bas de gamme (y compris ceux sans autofocus) la reconnaissance fonctionne bien en mode carte seule.
En mode de carte multiple si le fond d'une carte est visible que la carte ne est encore reconnu fois. En mode carte unique nous recherchons le même numéro de carte et des vêtements à la fois haut et en bas de la carte. Donc, les deux doivent être visibles avant que la carte est reconnue en mode carte unique, mais un seul est nécessaire pour la reconnaissance en mode carte multiple. En mode carte simple si plusieurs cartes sont la reconnaissance actuelle échoue, vous devez exactement une carte. En mode de mise à jour, nous pouvons ajouter / retirer une carte unique à la fois pour une main de cartes. En mode brut les résultats non filtrés sont présentés et vous ne avez pas besoin de redémarrer à plusieurs reprises la reconnaissance. Le mode actuel est indiqué dans le texte de la barre d'action.
Dans le long terme, je vais intégrer cette app avec différents jeux de cartes. Une intégration simple mode pré-flop où nous montrons les chances de pourcentage pour les deux premières cartes de hold em poker. Je joue également comptage de cartes au blackjack standard (peut forcer l'affichage de comptage dans les paramètres) pour démontrer une autre demande de carte.
La plupart des systèmes de reconnaissance de carte (ce est à dire les systèmes de détection de comptage Blackjack) regarder pour le contour de la carte. Dans ma méthode, je ne demande pas le contour des cartes, à la place, je ne regarde le numéro de carte et le costume associé. Donc, tant que le costume et le numéro sont une reconnaissance visible se produira avec succès; le reste de la carte peut être occlus. Aller à 1 minute, 23 secondes de la vidéo ci-dessous et vous verrez la reconnaissance réussie de cartes dans la forme typique "fan" utilisé dans les jeux de cartes. Aucun autre système que je connais peut effectuer une reconnaissance multi-carte aussi précisément et rapidement.
L'application est en temps réel dans le sens où il est reconnaissant un certain nombre de fois par seconde, comme indiqué en mode brut. Dans les autres modes, les résultats sont regroupés pour parvenir à un consensus, ce est pourquoi il faut une ou deux secondes pour un résultat de reconnaissance. Je crois que ce est le meilleur système de reconnaissance de la carte pour quelque chose comme le verre Google où vous cherchez à les cartes dans les mains de quelqu'un. Je me réjouis des commentaires, mais souviens ce ne est pas un produit final, ce est une démonstration de la technologie.