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 mengakui bermain kartu dari deck standar. Ada lima mode yang dapat dipilih dalam pengaturan; beberapa, tunggal, update, pre-flop dan baku. Anda menyentuh layar untuk memulai pengakuan, memegang kamera masih, menaruh beberapa kartu di depan, dan menunggu. Anda tinggal di modus pengakuan sampai Anda menyentuh layar lagi untuk kembali ke modus siaga. Setelah pengakuan terjadi kartu diakui ditampilkan dan kadang-kadang diucapkan.
Dalam modus baku kartu diakui ditampilkan tanpa penyaringan dan secara real-time. Dalam mode lain sekali pengakuan terjadi tidak ada kartu lebih lanjut akan diakui kecuali jika Anda me-restart proses pengenalan. Ada dua cara untuk melakukan ini; yang paling mudah adalah menghapus semua kartu dari pandangan untuk sekitar 1/2 detik, dan kemudian menempatkan kartu untuk diakui di depan kamera. Cara kedua adalah untuk menyentuh layar untuk menghentikan pengakuan dan pergi ke siaga, dan menyentuh layar lagi untuk memulai pengakuan. File http://www.kgrothapps.com/files/cardrecog-example.pdf memiliki beberapa contoh tangan. Jika Anda tidak memiliki satu set kartu remi Bicycle mencetak halaman dan mencoba pengakuan tangan.
Ketika Anda mulai pengenalan kamera berfokus (jika mungkin), jadi jika pengakuan gagal Anda harus menyentuh layar untuk berhenti, lalu sentuh lagi untuk me-restart pengakuan untuk memastikan Anda memiliki fokus image.You juga dapat memiringkan kartu sedikit untuk melihat jika yang meningkatkan hasil. Jika pengakuan gagal untuk semua kartu kemudian mencoba mengatur ISO (jika berada dalam pengaturan) dengan nilai tertinggi, bukan default otomatis.
Untuk perangkat dengan auto focus (yaitu garis Nexus) pengakuan bekerja dengan baik bahkan untuk sejumlah besar kartu. Namun, Anda selalu membutuhkan dalam gambar fokus, dan pencahayaan cukup terang. Untuk perangkat ujung bawah pengakuan akan bekerja dengan baik dalam mode kartu tunggal, tetapi kartu lebih sedikit diakui berhasil dalam mode kartu ganda. Tetapi bahkan untuk perangkat low end (termasuk mereka yang tidak auto focus) pengakuan bekerja dengan baik dalam modus kartu tunggal.
Dalam modus kartu ganda jika bagian bawah kartu terlihat bahwa kartu masih hanya diakui sekali. Dalam modus kartu tunggal kita mencari nomor kartu yang sama dan gugatan di kedua bagian atas dan bawah kartu. Jadi keduanya harus terlihat sebelum kartu tersebut diakui dalam modus kartu tunggal, tapi hanya satu yang diperlukan untuk pengakuan dalam mode kartu ganda. Dalam modus kartu tunggal jika beberapa kartu yang pengakuan ini gagal, Anda perlu tepat satu kartu. Dalam modus pembaruan kita dapat menambahkan / menghapus satu kartu pada waktu untuk tangan kartu. Dalam modus baku hasil tanpa filter akan ditampilkan dan Anda tidak perlu berulang kali me-restart pengakuan. Mode saat ini ditampilkan dalam aksi bar teks.
Dalam jangka panjang saya akan mengintegrasikan aplikasi ini dengan permainan kartu yang berbeda. Sebuah integrasi sederhana adalah modus pra-flop di mana kita menunjukkan peluang persentase untuk dua kartu pertama terus em poker. Saya juga melakukan standar menghitung kartu blackjack (dapat memaksa tampilan hitungan dalam pengaturan) untuk menunjukkan aplikasi kartu lain.
Kebanyakan sistem pengenalan kartu (yaitu sistem menghitung deteksi Blackjack) mencari garis kartu. Dalam metode saya tidak memerlukan garis besar kartu, bukan saya hanya melihat nomor kartu dan setelan yang terkait. Jadi selama setelan dan nomor yang terlihat pengakuan akan terjadi dengan sukses; sisa kartu dapat tersumbat. Loncat ke 1 menit, 23 detik dari video di bawah ini dan Anda akan melihat pengakuan sukses kartu khas "fan" bentuk yang digunakan dalam permainan kartu. Tidak ada sistem lain yang saya tahu dapat melakukan pengenalan multi-card secara akurat dan cepat.
Aplikasi ini real time dalam arti bahwa itu mengakui beberapa kali per detik, seperti yang ditunjukkan dalam modus mentah. Dalam mode lain hasilnya dikelompokkan untuk mencapai konsensus, yang mengapa dibutuhkan satu atau dua detik untuk hasil pengakuan. Saya percaya ini adalah yang terbaik sistem pengenalan kartu untuk sesuatu seperti Google kaca di mana Anda melihat kartu di tangan seseorang. Saya menyambut komentar, tapi ingat ini bukan produk akhir, itu adalah demo teknologi.