Title: Playing Card Recognizer
1Playing Card Recognizer
- ECE 4025
- February 28, 2002
- Group 5
- Robert Barrett
- Jason Hodkin
- Chung Tse Mar
- Jay Silver
- David Winkler
- Yu Ming Wu
2Motivation
- Short-term
- Demonstrate effectiveness and usefulness of
character recognition
- Long-term
- Design autonomous on-line card playing system
3Project Scope
- Image Restrictions
- One card per image
- No occlusion of card
- High contrast solid background
- Constant light source
- Image Allowances
- Scaling
- Rotation
- Font style
4How does it work?
5Color to Gray Scale Conversion
We are only interested in intensity (Y)
R G B YR UR VR YG UG VG YB UB VB
Y U V
YR 0.299 YG 0.587 YB 0.114
6Gray Scale to Binary Conversion
If grayScaleValue gt mean 2s, Pixel 1 Else,
Pixel 0
25 13 1 50 28 40 247 5 225
13 18 254 190 12 5 7 210 18 255
32 11 5 36 20 13
0 0 0 0 0 0 1 0 1
0 0 1 1 0 0 0 1 0
1 0 0 0 0 0 0
7Labeling
Identify blobs Determine characteristics of blobs
Area 24
Area 4
1 1 1 0 0 0 0 0
1 1 1 0 1 1 0 0
1 1 1 0 1 1 0 0
1 1 1 0 0 0 1 0
1 1 1 0 0 0 1 0
1 1 1 0 0 0 1 0
1 1 1 0 0 1 1 0
1 1 1 0 0 0 0 0
1 1 1 0 0 0 0 0
1 1 1 0 2 2 0 0
1 1 1 0 2 2 0 0
1 1 1 0 0 0 3 0
1 1 1 0 0 0 3 0
1 1 1 0 0 0 3 0
1 1 1 0 0 3 3 0
1 1 1 0 0 0 0 0
Area 5
8Flood Fill
FloodFill ( pixelToEliminate ) FloodFill (
allNeighboringPixels) Erase all neigboring
pixels end
9Calculate Angle of Major Axis of Best Fit Ellipse
(orientation)
10Rotate
25 13 1 50 28 40 247 5 225
13 18 254 190 12 5 7 210 18 255
32 11 5 36 20 13
25 13 1 50 28 40 247 5 225
13 18 254 190 12 5 7 210 18 255
32 11 5 36 20 13
11Isolate the Important Information
Scan each row and column for a white pixel
Top of Card
Right Side of Card
Left Side of Card
Bottom of Card
12Locate Identifiable Symbol and isolate it
top
right
left
bottom
13Choose an Appropriate Template and Scale to Match
the Template
Template
Choose a font that should be consistent with most
card fonts, but that is different from the data
set.
Freecell (A card game on most windows OSs)
Image
14Take a Normalized Cross Correlation
SSX(rm,cn)H(r,c) Correlation(m,n)
n
m
15Take a Normalized Cross Correlation
16Highest Score is a Match
Max Corr is 0.5581
Max Corr is 0.3016
17Implementation Overview
18Implementation Overview
Final Result
19Realtime Constraint
- Realtime constraint depends on the application
- How fast the cards change
- Bounded by camera frame rate
- Set goal of 1 frame/second
20Computational Complexity
- 1 frame/second
- 64x64 4096 pixels/template
- 100 cross-correlations/template
- 13 templates for number, 4 templates for suite
100 4096 17 1 7 Million MACs/second
21Next Steps
- Implementing processing on EVM
- Cross-correlation
- Implementing processing on host
- Corner extraction
- Scaling
- Decision model and display
- Synchronizing host with EVM using RTDX API