14
1 EE 355 OCR Explanation Mark Redekopp

EE 355 OCR Explanationee.usc.edu/~redekopp/ee355/slides/ee355_pa3_ocr_notes.pdf · Scan top to bottom, left to right Stop when you hit a black, unfound pixel 1 Now start a BFS using

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: EE 355 OCR Explanationee.usc.edu/~redekopp/ee355/slides/ee355_pa3_ocr_notes.pdf · Scan top to bottom, left to right Stop when you hit a black, unfound pixel 1 Now start a BFS using

1

EE 355 OCR Explanation

Mark Redekopp

Page 2: EE 355 OCR Explanationee.usc.edu/~redekopp/ee355/slides/ee355_pa3_ocr_notes.pdf · Scan top to bottom, left to right Stop when you hit a black, unfound pixel 1 Now start a BFS using

2

Make Your Own Image

• Note: You can make your own images by:

– Using the "Verdana" font and writing some text in a word processor

– Using the Windows "snipping" tool to capture a section of the screen

– Paste it into an image editor (Windows Paint)

– Resize the image to 256x256

– Save it as 8-bit Grayscale

Page 3: EE 355 OCR Explanationee.usc.edu/~redekopp/ee355/slides/ee355_pa3_ocr_notes.pdf · Scan top to bottom, left to right Stop when you hit a black, unfound pixel 1 Now start a BFS using

3

Note about BFS

Scan top to bottom, left to right

Stop when you hit a black, unfound pixel1

Now start a BFS

using 8

connected

neighbors

(N, NW, W, SW,

S, SE, E, NE)

2

Page 4: EE 355 OCR Explanationee.usc.edu/~redekopp/ee355/slides/ee355_pa3_ocr_notes.pdf · Scan top to bottom, left to right Stop when you hit a black, unfound pixel 1 Now start a BFS using

4

Note about BFS

Row r

Row r+1

Note: Due to slight image rendering

discrepancies, characters further right

might be found first since one of their

pixels is in a higher row. In this image,

2 and 3 might be found before 1

Page 5: EE 355 OCR Explanationee.usc.edu/~redekopp/ee355/slides/ee355_pa3_ocr_notes.pdf · Scan top to bottom, left to right Stop when you hit a black, unfound pixel 1 Now start a BFS using

5

Note about BFS

Scan top to bottom, left to right

Stop when you hit a black, unfound pixel1

Now start a BFS

using 8

connected

neighbors

(N, NW, W, SW,

S, SE, E, NE)

2

Page 6: EE 355 OCR Explanationee.usc.edu/~redekopp/ee355/slides/ee355_pa3_ocr_notes.pdf · Scan top to bottom, left to right Stop when you hit a black, unfound pixel 1 Now start a BFS using

6

Euler Number

• Euler number = # of components - # of holes

• Component is connected black region

– Each character is just 1 component

• Holes are enclosed white regions

– '8' has 2 holes, '0' has 1, '2' has none

• Thus, Euler number, E = C-H = 1-H

– E=1 => {1, 2, 3, 5, 7}

– E=0 => {0, 4, 6, 9}

– E=-1 => {8}

Page 7: EE 355 OCR Explanationee.usc.edu/~redekopp/ee355/slides/ee355_pa3_ocr_notes.pdf · Scan top to bottom, left to right Stop when you hit a black, unfound pixel 1 Now start a BFS using

7

Center of Mass (Centroids)

• Imagine black pixels represents mass in the image below

• Where would the center of mass be?

– Somewhere in the upper right

• This can be useful for identifying certain characters ('7' = more mass in the upper half, '3' = more mass in the right half, etc.)

Vertical center

of mass is on

row 1.1

Page 8: EE 355 OCR Explanationee.usc.edu/~redekopp/ee355/slides/ee355_pa3_ocr_notes.pdf · Scan top to bottom, left to right Stop when you hit a black, unfound pixel 1 Now start a BFS using

8

Vertical Centroid

• Equation

– isblack(i,j) = 1 if pixel (i,j) is black, 0 otherwise

𝑖,𝑗=0,0

𝐻,𝑊

𝑖 ∗ 𝑖𝑠𝑏𝑙𝑎𝑐𝑘(𝑖, 𝑗) [

𝑖,𝑗=0,0

𝐻,𝑊

𝑖𝑠𝑏𝑙𝑎𝑐𝑘(𝑖, 𝑗)]

– Multiple row index * 1 if the pixel is black and sum over all pixels

– 0*1 + 0*1 + 0*1 + 0*1 + 0*1 + 1*1 + 2*1 + 3*1 + 4*1 = 10

– Total black pixels = 9

– Vertical centroid = 10/9 = 1.11

0 1 2 3 4

0

1

2

3

4

Vertical center

of mass is on

row 1.1

Page 9: EE 355 OCR Explanationee.usc.edu/~redekopp/ee355/slides/ee355_pa3_ocr_notes.pdf · Scan top to bottom, left to right Stop when you hit a black, unfound pixel 1 Now start a BFS using

9

Horizontal Centroid

• Equation

– isblack(i,j) = 1 if pixel (i,j) is black, 0 otherwise

𝑖,𝑗=0,0

𝐻,𝑊

𝑗 ∗ 𝑖𝑠𝑏𝑙𝑎𝑐𝑘(𝑖, 𝑗) [

𝑖,𝑗=0,0

𝐻,𝑊

𝑖𝑠𝑏𝑙𝑎𝑐𝑘(𝑖, 𝑗)]

– Multiple column index * 1 if the pixel is black and sum over all pixels

– 0*1 + 1*1 + 2*1 + 3*1 + 4*1 + 4*1 + 4*1 + 4*1 + 4*1 = 26

– Total black pixels = 9

– Vertical centroid = 26/9 = 2.89

0 1 2 3 4

0

1

2

3

4

Horizontal center

of mass is on

column 2.89

Page 10: EE 355 OCR Explanationee.usc.edu/~redekopp/ee355/slides/ee355_pa3_ocr_notes.pdf · Scan top to bottom, left to right Stop when you hit a black, unfound pixel 1 Now start a BFS using

10

Center of Mass (Centroids)

• Putting the VC (Vertical centroid) and HC (Horizontal centroid) together we arrive at a center of mass of (1.1, 2.89)

• It may be more useful to translate the coordinate system to have 0,0 be right in the middle which can easily be accomplished by:– (VC – H/2 , HC – W/2 ) => (1.1-2, 2.89-2) = (-0.9, 0.89)

– This tells us the center of mass is in the upper (negative), left (positive) quadrant of the image

Center of

Mass

-2 -1 0 1 2

-2

-1

0

1

2

Center of

Mass

Page 11: EE 355 OCR Explanationee.usc.edu/~redekopp/ee355/slides/ee355_pa3_ocr_notes.pdf · Scan top to bottom, left to right Stop when you hit a black, unfound pixel 1 Now start a BFS using

11

Symmetry

• Another useful characteristic might be vertical and horizontal symmetry

– Mirror images top to bottom (vertical symmetry) or left to right (horizontal symmetry)

0 1 2 3 4

0

1

2

3

4

0 1 2 3 4

0

1

2

3

4

0 1 2 3 4

0

1

2

3

4

Vertical

Symmetry

Horizontal

Symmetry

Both Vertical &

Horizontal

Symmetry

Page 12: EE 355 OCR Explanationee.usc.edu/~redekopp/ee355/slides/ee355_pa3_ocr_notes.pdf · Scan top to bottom, left to right Stop when you hit a black, unfound pixel 1 Now start a BFS using

12

Computing Vertical Symmetry

• Scan down the top row and compare pixel values to the bottom row, then compare second row to second to last row, etc.

– Count how many pixels you compared and how many matched

– Likely helpful to normalize to a percentage

0 1 2 3 4

0 M1 M2 M3 M4 M5

1 M6 M7 M8 M9 MA

2

3 M6 M7 M8 M9 MA

4 M1 M2 M3 M4 M5

0 1 2 3 4

0

1

2

3

4

0 1 2 3 4

0

1

2

3

4

Vertical

Symmetry

Horizontal

Symmetry

Both Vertical &

Horizontal

Symmetry

Page 13: EE 355 OCR Explanationee.usc.edu/~redekopp/ee355/slides/ee355_pa3_ocr_notes.pdf · Scan top to bottom, left to right Stop when you hit a black, unfound pixel 1 Now start a BFS using

13

Computing Bit Quads

• To compute bit quads remember to start at one row and column above and to the left and continue to one row and column below and to the right (i.e. leave a frame of one row/column of white around the black pattern)

0 1 2 3 4

0

1

2

3

4

0 1 2 3 4

0

1

2

3

4

Vertical

Symmetry

Horizontal

Symmetry

Both Vertical &

Horizontal

Symmetry

Page 14: EE 355 OCR Explanationee.usc.edu/~redekopp/ee355/slides/ee355_pa3_ocr_notes.pdf · Scan top to bottom, left to right Stop when you hit a black, unfound pixel 1 Now start a BFS using

14