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 adalah sebuah aplikasi yang mengiktiraf bermain kad dari dek standard. Terdapat lima cara yang boleh dipilih dalam tetapan; berbilang, tunggal, kemas kini, pra-flop dan mentah. Anda menyentuh skrin untuk memulakan pengiktirafan, memegang kamera dengan teguh, meletakkan beberapa kad di hadapan, dan tunggu. Anda kekal dalam mod pengiktirafan sehingga anda menyentuh skrin sekali lagi untuk kembali ke mod main. Setelah pengiktirafan berlaku kad diiktiraf dipaparkan dan kadang-kala bercakap.
Dalam mod mentah kad diiktiraf ditunjukkan tanpa penapisan dan dalam masa nyata. Dalam mod lain sekali pengiktirafan berlaku kad lagi akan diiktiraf kecuali anda memulakan semula proses pengiktirafan. Terdapat dua cara untuk melakukan ini; yang paling mudah adalah menghilangkan semua kad dari pandangan selama kira-kira 1/2 kedua, dan kemudian meletakkan kad untuk diiktiraf di hadapan kamera. Cara kedua ialah dengan menyentuh skrin untuk menghentikan pengiktirafan dan pergi terbiar, dan menyentuh skrin sekali lagi untuk memulakan pengiktirafan. The http://www.kgrothapps.com/files/cardrecog-example.pdf fail mempunyai beberapa contoh tangan. Jika anda tidak memiliki satu set basikal bermain kad mencetak halaman dan cuba pengiktirafan tangan.
Apabila anda mula pengiktirafan kamera memberi tumpuan (jika boleh), jadi jika pengiktirafan gagal anda perlu menyentuh skrin untuk berhenti, dan kemudian sentuh lagi untuk memulakan semula pengiktirafan untuk memastikan anda mempunyai fokus image.You juga boleh condongkan kad sedikit untuk melihat jika yang meningkatkan hasil. Jika pengiktirafan gagal untuk semua kad kemudian cuba menetapkan ISO (jika ia adalah dalam tetapan) untuk nilai tertinggi yang mungkin, bukannya lalai automatik.
Untuk peranti dengan fokus auto (iaitu talian Nexus) Pengiktirafan berfungsi dengan baik walaupun untuk sejumlah besar kad. Walau bagaimanapun, anda sentiasa perlu dalam imej fokus, dan lampu terang munasabah. Untuk peranti akhir rendah pengiktirafan akan bekerja dengan baik dalam mod kad, tetapi lebih sedikit kad diiktiraf berjaya dalam mod kad berbilang. Tetapi untuk peranti akhir rendah (termasuk mereka yang tidak mempunyai fokus auto) Pengiktirafan berfungsi dengan baik dalam mod kad tunggal.
Dalam mod kad berganda jika bahagian bawah kad yang boleh dilihat bahawa kad masih hanya diiktiraf sekali. Dalam mod kad tunggal kita mencari nombor kad yang sama dan baju di kedua-dua bahagian atas dan bahagian bawah kad. Jadi kedua-dua mesti dapat dilihat sebelum kad tersebut diiktiraf dalam mod kad, tetapi hanya satu diperlukan untuk pengiktirafan dalam mod kad berbilang. Dalam mod kad tunggal jika beberapa kad pengiktirafan ini gagal, anda perlu betul-betul satu kad. Dalam mod kemas kini kita boleh menambah / mengeluarkan kad tunggal pada satu masa untuk tangan kad. Dalam mod mentah keputusan tanpa filter ditunjukkan dan anda tidak perlu berulang kali memulakan semula pengiktirafan. Mod semasa ditunjukkan dalam teks bar tindakan.
Dalam jangka masa panjang saya akan mengintegrasikan aplikasi ini dengan permainan kad yang berbeza. A integrasi mudah adalah mod pra-flop di mana kita menunjukkan kemungkinan peratusan untuk kedua-dua kad pertama dalam memegang em poker. Saya juga melaksanakan standard kad blackjack pengiraan (boleh memaksa paparan kiraan dalam tetapan) untuk menunjukkan satu lagi permohonan kad.
Kebanyakan sistem pengiktirafan kad (iaitu Blackjack sistem pengesanan mengira) mencari garis kad. Dalam kaedah saya tidak memerlukan garis kad, sebaliknya saya hanya melihat nombor kad dan baju yang berkaitan. Maka selama guaman dan jumlah adalah pengiktirafan kelihatan akan berlaku dengan jayanya; negara lain di kad boleh tersumbat. Langkau ke 1 minit, 23 saat video di bawah dan anda akan melihat pengiktirafan kejayaan dalam kad biasa "kipas" bentuk yang digunakan dalam permainan kad. Tidak ada sistem lain yang saya tahu boleh melakukan pengiktirafan berbilang kad seberapa tepat dan cepat.
Aplikasi ini adalah masa sebenar dalam erti kata bahawa ia mengiktiraf beberapa kali kedua, seperti yang ditunjukkan dalam mod mentah. Dalam mod lain keputusan dikumpulkan untuk mencapai kata sepakat, yang adalah mengapa ia mengambil masa satu atau dua saat untuk hasil pengiktirafan. Saya percaya ini adalah terbaik sistem pengiktirafan kad untuk sesuatu seperti Google kaca di mana anda mencari pada kad di tangan seseorang. Saya mengalu-alukan sebarang komen, tetapi ingat ini tidak adalah produk yang akhir, ia adalah satu teknologi demo.