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 هو التطبيق الذي يعترف أوراق اللعب من سطح السفينة القياسية. هناك خمسة أوضاع التي يمكن اختيارها في إعدادات. متعددة، واحد، التحديث، قبل بالتخبط والخام. كنت على اتصال الشاشة لبدء الاعتراف، عقد الكاميرا لا يزال، وطرح بعض البطاقات في الجبهة، والانتظار. عليك البقاء في وضع الاعتراف حتى لمس الشاشة مرة أخرى للعودة إلى الخمول واسطة. مرة واحدة يحدث اعتراف يتم عرض البطاقات المعترف بها وتحدث في بعض الأحيان.
في وضع raw ترد بطاقات المعترف بها دون تصفية وفي الوقت الحقيقي. في أوضاع أخرى يحدث مرة واحدة الاعتراف سيتم التعرف على أي بطاقات أخرى إلا إذا كنت استئناف عملية الاعتراف. هناك طريقتان للقيام بذلك. والأسهل هو إزالة جميع البطاقات من عرض لحوالي 1/2 ثانية، ثم وضع بطاقات لا بد من الاعتراف أمام الكاميرا. والطريقة الثانية هي للمس الشاشة لوقف الاعتراف والذهاب إلى الخمول، ولمس الشاشة مرة أخرى لبدء الاعتراف. وhttp://www.kgrothapps.com/files/cardrecog-example.pdf ملف ديه بعض الأيدي سبيل المثال. إذا كنت لا تملك مجموعة من دراجات أوراق اللعب طباعة الصفحة ومحاولة التعرف على اليدين.
عند بدء تشغيل الاعتراف الكاميرا تركز (إن أمكن)، لذلك إذا فشل الاعتراف عليك لمس الشاشة لوقف، ثم المس مرة أخرى لإعادة تشغيل الاعتراف للتأكد من لديك في التركيز image.You يمكن أيضا إمالة بطاقات قليلا لنرى إذا كان ذلك يحسن النتائج. إذا فشل الاعتراف لجميع بطاقات ثم حاول إعداد ISO (إذا كان في إعدادات) إلى أعلى قيمة ممكنة، بدلا من الافتراضي التلقائي.
للأجهزة مع التركيز التلقائي (أي خط نيكزس) الاعتراف يعمل بشكل جيد حتى بالنسبة لعدد كبير من البطاقات. ومع ذلك، كنت دائما بحاجة إلى التركيز في الصورة، والإضاءة الساطعة معقول. لأقل الأجهزة نهاية الاعتراف سوف تعمل بشكل جيد في وضع بطاقة واحدة، ولكن يتم التعرف على بطاقات أقل بنجاح في وضع بطاقة متعددة. ولكن حتى للأجهزة نهاية المنخفضة (بما في ذلك أولئك الذين ليس لهم التركيز التلقائي) الاعتراف يعمل بشكل جيد في وضع بطاقة واحدة.
في وضع بطاقة متعددة إذا الجزء السفلي من بطاقة مرئيا تلك البطاقة لا تزال تعترف بها سوى مرة واحدة. في وضع بطاقة واحد ونحن نبحث عن رقم البطاقة ونفس الدعوى في كل من أعلى وأسفل البطاقة. لذلك يجب أن يكون على حد سواء مرئية قبل أن يتم التعرف على البطاقة في وضع بطاقة واحدة، ولكن واحدا فقط مطلوب للاعتراف في وضع بطاقة متعددة. في وضع بطاقة واحدة إذا بطاقات متعددة هي فشل الاعتراف الحاضر، تحتاج بالضبط بطاقة واحدة. في وضع تحديث ويمكننا أن نضيف / إزالة بطاقة واحدة في وقت واحد إلى يد من البطاقات. في وضع الخام وأظهرت نتائج غير المرشحة، وكنت لا تحتاج إلى إعادة تشغيل مرارا الاعتراف. ويظهر الوضع الحالي في نص شريط العمل.
وعلى المدى الطويل سوف دمج هذا التطبيق مع ألعاب بطاقة مختلفة. والتكامل بسيط هو وضع قبل التقليب حيث نقدم لك مجموعة من الاحتمالات نسبة لبطاقات الأولين في عقد طب الطوارئ البوكر. وأود أيضا أن أداء قياسي العد بطاقة لعبة ورق (يمكن إجبار عرض العد في إعدادات) لإثبات تطبيق بطاقة أخرى.
معظم أنظمة التعرف على بطاقة (أي العوامة أنظمة الكشف عن عد) انظر لمخطط البطاقة. في طريقة بلدي وأنا لا تتطلب الخطوط العريضة للبطاقات، وبدلا من ذلك ننظر فقط في رقم البطاقة والدعوى المرتبطة بها. لذلك طالما الدعوى وعدد من سيحدث اعتراف واضح بنجاح؛ يمكن المغطي بقية البطاقة. انتقل إلى 1 دقيقة، 23 ثانية من الفيديو أدناه، وسوف نرى الاعتراف الناجح لالبطاقات في نموذجي "مروحة" شكل المستخدمة في لعب الورق. لا نظام آخر أن أعرف من يمكن أن تؤدي الاعتراف بطاقة متعددة بدقة وبسرعة.
التطبيق هو الوقت الحقيقي بمعنى أنه هو الاعتراف عدد من مرة في الثانية، كما هو مبين في وضع الخام. في وسائط أخرى يتم تجميع النتائج لتحقيق توافق في الآراء، الذي هو السبب في أنه يأخذ واحدة أو ثانيتين للحصول على نتيجة الاعتراف. وأعتقد أن هذا هو أفضل نظام التعرف على بطاقة عن شيء مثل الزجاج Google حيث كنت تبحث في البطاقات في يد شخص ما. I نرحب بملاحظاتكم، ولكن تذكر هذه ليست المنتج النهائي، بل هو عرض التكنولوجيا.