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 является приложение, которое признает игральные карты с стандартной колодой. Есть пять режимов, которые могут быть выбраны в настройках; несколько, один, обновление, на пре-флопе и в сыром виде. Вы касаетесь экрана, чтобы запустить распознавание, держите камеру неподвижно, поставить некоторые карты в передней, и ждать. Вы остаетесь в режиме распознавания, пока вы касаетесь экрана, чтобы вернуться в режим ожидания. После того, как происходит признание признанные карты отображаются, а иногда и говорят.
В режиме сырой признанные карточки показаны без фильтрации и в режиме реального времени. В других режимах раз узнавание происходит карты больше не будут признаны, если вы не запустите процесс распознавания. Есть два способа сделать это; Проще всего удалить все карты из поля зрения около 1/2 секунды, а затем поместить карты, чтобы быть признанным в передней части камеры. Второй способ заключается в прикосновении к экрану, чтобы остановить признание и перейти в режим ожидания, и снова коснуться экрана, чтобы начать признание. Файл http://www.kgrothapps.com/files/cardrecog-example.pdf имеет некоторые примеры рук. Если вы не владеете набор велосипедных игральные карты распечатать страницу и попробуйте признание руках.
Когда вы начинаете признание камера фокусируется (если это возможно), так что если не выполнена, вы должны коснуться экрана, чтобы остановить, а затем нажмите снова, чтобы перезапустить признание убедитесь, что вы в центре внимания image.You также можете наклонить карты немного, чтобы увидеть если это улучшает результаты. Если не выполнена для всех карт, то попробуйте установить ISO (если это в настройках), чтобы максимально возможное значение, а не по умолчанию в автоматическом режиме.
Для устройств с автофокусом (т.е. Nexus линия) Распознавание работает хорошо, даже для большого количества карт. Тем не менее, вы всегда должны находится в фокусе изображения, и достаточно яркий свет. Для более низких конечных устройств распознавания будет хорошо работать в режиме одной карте, но меньше карт успешно отражаются в режиме многократного карты. Но даже при низких конечных устройств (в том числе тех, кто не автофокусом) признание хорошо работает в режиме одиночной карты.
В режиме многократного карты, если дно карты видно, что карта все равно признается только один раз. В режиме одиночной карты мы смотрим на то же количество карт и масти как сверху, так и снизу карты. Так как должны быть видны до карта была опознана в режиме одиночной карты, но только один необходим для признания в режиме многократного карты. В режиме одиночной карты, если несколько карт присутствуют не выполнена, необходимо точно одной карте. В режиме обновления, мы можем добавить / удалить одну карту на время, чтобы руки карт. В режиме сырья Неотфильтрованные Результаты показаны и вам не нужно повторно перезагрузить признание. Текущий режим отображается в панели действий текста.
В долгосрочной перспективе я буду интегрировать это приложение с различными карточными играми. Простая интеграция является режим пре-флопе, где мы, показывают процент шансы в течение первых двух карт в Холдем покер. Я также выполнять стандартный подсчет блэкджек карты (может заставить дисплей Количество в настройках), чтобы продемонстрировать другое приложение карты.
Большинство систем распознавания личности (т.е. системы подсчета обнаружения Блэкджек) выглядят для контура карты. На мой метод, который я не требуют контур карты, а я смотрю только на номер карты и соответствующего костюма. Так что, пока в костюме и номер могут видеть признание будет происходить успешно; Остальные карты могут быть окклюзии. Перейти к 1 минуту, 23 секунд видео ниже, и вы увидите успешного распознавания карт в типичный "вентилятор" формы, используемой в карточных игр. Ни одна другая система, что я знаю, не может выполнять распознавание нескольких карт памяти, как точно и быстро.
Приложение в режиме реального времени в том смысле, что оно распознает несколько раз во-вторых, как показано в нестандартном режиме. В других режимах результаты группируются с целью достижения консенсуса, который является, почему это происходит один или две секунды на результат распознавания. Я считаю, что это лучшая система распознавания карты что-то вроде Google стекла, где вы смотрите на карты в чьих-то руках. Я приветствую любые комментарии, но помните, что это не конечный продукт, это демонстрация технологии.