E D R , A S I H C RSS

ISBN_Barcode_Image_Recognition

1. ”„กœ Šธ

1.1. ฐธ—ฌ

  •  •ง„๊ฒฝ

1.2. ‘œ

  • Imageกœ €„ฐ ISBN Šคบ”ผธ ถ”ถœ, •„
  • ๊ตฌ๊ธ€ •ˆ“œกœ“œ—„œ ™ž‘

2. 1D Barcode Image Recognition

2.1. Symbology

  • 1ฐจ› ฐ”ฝ”“œ ธ‹„ •˜๊ธฐ œ„•„œŠ” •‹น ฐ”ฝ”“œ˜ ‹ฌณผกœ€ฅผ ••••œ‹ค.
  • ‹ฌณผกœ€ž€, ฐ”ฝ”“œฅผ ‘œ‹œ•˜Š” ฐฉ•„  ••œ ๊ทœ™‹ค.  ๊ทœ™ žฌ•••‹น ฐ”ฝ”“œฅผ ƒ„ฑ•˜๊ฑฐ‚˜ ฝ„ ˆ˜ žˆ‹ค.

2.1.1. Bar and Space

  • BarŠ” ฐ”ฝ”“œ˜ ๊ฒ€€ €ถ„, SpaceŠ” ฐ €ถ„ฉฐ, ๊ฐ๊ฐ Black, Whiteผ๊ณ  ‘œ˜„•˜๊ธฐ„ •œ‹ค.

2.1.2. X-dimension

  • ๊ฐ€žฅ ข€ Bar ˜น€ ๊ฐ€žฅ ข€ Space(˜ ญ ๊ธธ)ฅผ ˜ฏธ•œ‹ค.

2.1.3. Quite Zone

  • ฐ”ฝ”“œฅผ ‹ค ‰ฝ๊ฒŒ ธ‹•˜๊ธฐ œ„•, ฐ”ฝ”“œ ขŒšฐกœ X-dimension˜ 10ฐฐ˜ Space๊ฐ€ žฌ•œ‹ค.
  • ‹ค œ ˜ƒ—„œŠ” Œ€๊ฐœ žฌ•˜‚˜. บกณ•œ ™” ƒ— —†„ ˆ˜„ žˆ๊ณ , ƒ˜”Œง ๊ณผ •—„œ žกŒ ผ๊ธฐ •Œฌธ— ฐ”ฝ”“œฅผ ธ‹•˜๊ธฐ œ„•  ˜—ญ„ ธ‹•˜Š” ๊ฒƒ„ ถ”ฒœ•˜€Š” •ŠŠ”‹ค.

2.1.4. Check Digit

  • ฐ”ฝ”“œฅผ ž˜ ธ‹•˜Š” ๊ฒฝšฐฅผ ฐฉ€•˜๊ธฐ œ„•. ‹ค œ ฐ„ฐกœ€„ฐ ƒ„ฑ˜Š” ฐ„ฐ๊ฐ€ žˆ„ ˆ˜ žˆ‹ค.

2.2. EAN-13 Symbology

  • EAN-13€ 13žฆฌ ˆซž(Check Digit ฌ•จ)กœ ƒ„ฑ•˜๊ฑฐ‚˜ •„•  ˆ˜ žˆŠ” ฐ”ฝ”“œ‹ค.
  • EAN-13˜ ‹ฌณผกœ€— Œ€• ž˜ „ค…˜– žˆŠ” Ž˜€(˜ฌธ) : http://www.barcodeisland.com/ean13.phtml

2.2.1. ฐ”ฝ”“œ ๊ตฌ„ฑ

  • 1€ bar, 0€ spaceกœ ‚˜ƒ€ƒ„. XŠ” ‘˜ ค‘ •˜‚˜
  • Left(Start) Guard
    • 101
  • Left Characters
    • 0XXXXX1 * 6 (spaceกœ ‹œž‘•„œ barกœ ‚จ)
  • Center Guard
    • 01010
  • Right Characters
    • 1XXXXX0 * 6 (barกœ ‹œž‘•„œ spaceกœ ‚จ)
  • Right(End) Guard
    • 101
  • Start, End GuardŠ” ฐ”ฝ”“œ˜ ‹œž‘๊ณผ „ •ŒฆฌŠ” ‹ฌณผ‹ค.
  • Center GuardŠ” Left Characters™€ Right Charactersฅผ ๊ตฌถ„•˜Š” ‹ฌณผ‹ค.
  • Left Characters™€ Right CharactersŠ” ๊ฐ๊ฐ 6žฆฌ ˆซžฅผ ‚˜ƒ€‚ธ‹ค.
  • ‚˜จธ€ •œ žฆฌŠ” Left Characters˜ Encodingœผกœ €„ฐ •„•œ‹ค. (•„ž˜ Encoding—„œ „ค…)
  • Right Characters˜ งˆ€ง‰ •œ žฆฌŠ” Check Digit ‹ค.

2.2.2. X-dimension

  • ๊ฐ€žฅ ‘๊บผš Bar ˜น€ Space˜ ญ ๊ธธŠ” X-dimension˜ 4ฐฐ‹ค.

2.2.3. Check Digit

  • EAN-13˜ Check DigitŠ” งˆ€ง‰ •œ žฆฌฉฐ, ‚˜จธ€ 12žฆฌกœ €„ฐ ƒ„ฑœ‹ค.
  • ๊ฐ 12žฆฌ ˆซž— ๊ฐ€ค‘น˜ฅผ ๊ณฑ•˜—ฌ ‹ค ••˜๊ณ , ••œ ๊ฐ’„ 10œผกœ ‚˜ˆˆ ‚˜จธ€ฅผ 10—„œ นผ Check Digit๊ฐ€ ‚˜˜จ‹ค.
    • ๊ฐ€ค‘น˜Š” 1, 3,  ฐ˜ณต˜Š” Œจ„‹ค. ฒซ ฒˆงธ žฆฌ ˆซž— 1„ ๊ณฑ•˜๊ณ , ... , —‘ ฒˆงธ žฆฌ ˆซž— 3„ ๊ณฑ•œ‹ค.


# Python
def generate_isbn_check_digit(numbers):	# Suppose that 'numbers' is 12-digit numeric string
    sum = 0;
    for i, number in enumerate(numbers):
        if i%2 == 0:
            sum += int(number) * 1
        else:
            sum += int(number) * 3
    return 10 - sum % 10

2.2.4. Encoding

2.2.4.1. Character

  • 0€ space, 1€ barฅผ ˜ฏธ•œ‹ค.
CharacterLeft(Odd)Left(Even)Right
0000110101001111110010
1001100101100111100110
2001001100110111101100
3011110101000011000010
4010001100111011011100
5011000101110011001110
6010111100001011010000
7011101100100011000100
8011011100010011001000
9000101100101111110100

  • Encoding„ ‰ฝ๊ฒŒ •…•˜๊ธฐ œ„• œ„˜ ‘œฅผ †ต• „ฑงˆ„ ŒŒ•…•‘Š” ๊ฒƒ ข‹‹ค.
  • Left(Odd), RightŠ” ๊ฐ๊ฐ˜ น„Šธฅผ ฐ˜ „•˜—ฌ „œกœ ๊ฐ™๊ฒŒ งŒ“ค ˆ˜ žˆ‹ค.
  • Left(Even), RightŠ” น„Šธ—„ ขŒšฐ ฐ˜ „•˜—ฌ „œกœ ๊ฐ™๊ฒŒ งŒ“ค ˆ˜ žˆ‹ค.
  • 0 ˜น€ 1 ๊ฐ€žฅ ๊ธธ๊ฒŒ —ฐ†˜–•ผ 4๊ฐœ‹ค.
  • Left˜ ๊ฐ€žฅ ™น„ŠธŠ” 0, ๊ฐ€žฅ ˜คฅธน„ŠธŠ” 1๊ณ , RightŠ” ๊ทธ ฐ˜Œ€‹ค.
    • ๊ฐ€šฐ— žˆŠ” น„Šธ 5๊ฐœ(32 ๊ฐ€€ˆ˜)กœ ˆซžฅผ ๊ตฌถ„•˜ฉฐ, Left(Odd), Left(Even) ค‘— ๊ฒนน˜Š” ๊ฒƒ —†‹ค.
  • “  ธฝ””ฉ— Œ€• 0, 1„ ˜—ญœผกœ ๊ตฌถ„•˜ ๊ทธ ˜—ญ€ •ƒ 4๊ฐœ‹ค.
    • ฆ‰, •˜‚˜˜ ˆซžฅผ ‚˜ƒ€‚๊ธฐ œ„• 2๊ฐœ˜ Bar™€ 2๊ฐœ˜ Space๊ฐ€ žฌ•œ‹ค.

2.2.4.2. First Number

  • ŠคŽ˜Šค™€ ฐ”— ˜• ง ‘ œผกœ ‘œ˜„˜Š” ˆซžŠ” 12๊ฐœ‹ค. ‚˜จธ€ •˜‚˜˜ ˆซžŠ” Left Character˜ ธฝ””ฉ„ •„• ––‚••œ‹ค. ˜ˆฅผ “ค– 8801067070256 ผŠ” EAN-13 ฐ”ฝ”“œ๊ฐ€ žˆ„ •Œ, ฐ”ฝ”“œ— ง ‘ œผกœ ––€Š”๊ฑ งจ •ž˜ žฆฌ '8' น ง„ 801067070256 ๊ณ , Š” Left Character— •‹น•˜Š” 801067˜ ธฝ””ฉ„ ๊ณ  •Œ•„‚••œ‹ค.

3. Image Processing (with Google Android)

3.1. YUV Image Format

  • Y(œ˜„ ‹ ˜ธ, ™”˜ ฐ๊ธฐ), U(Cb, œ˜„ ‹ ˜ธ™€ ฒญƒ‰ „ฑถ„˜ ฐจ), V(Cr, œ˜„ ‹ ˜ธ™€  ƒ‰ „ฑถ„˜ ฐจ)

3.1.1. Planar and Packed

  • PackedŠ” Y, U, V˜ ฐ„ฐ ˜—ญ ถ„ฆฌ˜€ •Š€ ฌงท‹ค.
  • PlanarŠ” Y, U, V˜ ฐ„ฐ ˜—ญ ถ„ฆฌœ ฌงท‹ค.

3.1.2. NV21 (Planar)

  • •ˆ“œกœ“œ ๊ณต‹ ฌธ„œ— ”ฐ •ƒ €›˜Š” ฌงทผ๊ณ  •œ‹ค.
  • Planar Formatœผกœ, ”„ ˆž„ ฌ๊ธฐงŒผ Y  •๊ฐ€ žˆ๊ณ , ๊ทธ ’ค— ”„ ˆž„ ฌ๊ธฐ˜ ฐ˜ งŒผ U, V  •๊ฐ€ žฌ•œ‹ค.

3.1.3. YV12

  • ๊ณต‹ ฌธ„œ— ”ฐ API level 12(—ˆ‹ˆ 3.1.x)€„ฐ •ƒ €›˜Š” ฌงทผ๊ณ  •œ‹ค.

3.2. Threshold

  • ˜ƒ„ ‘ ๊ฐ€€ ƒ‰œผกœงŒ ‘œ˜„•˜—ฌ, Object ธ‹„ šฉ•˜๊ฒŒ •˜๊ธฐ œ„•
  • ˜ˆฅผ “ค– ‘ฐฑ ˜ƒ— Œ€• ˆ˜–‰•  •Œ ž„๊ณ„๊ฐ’(––ค ฐ๊ธฐ๊ฐ’)‹ค ‚ฎœผ ๊ฒ€ •ƒ‰, †’œผ ฐƒ‰œผกœ €™˜•˜Š” ๊ฒƒ.

3.2.1. Global Threshold

  •  „ ˜ƒ— Œ€• •˜‚˜˜ ž„๊ณ„๊ฐ’œผกœ ˜ƒ„ ง„™”•˜Š” ๊ฒƒ.

3.2.2. Adaptive Threshold

  • ˜ƒ ผ€— น› น„ถฐ€๊ฑฐ‚˜, ๊ทธฆผž๊ฐ€ “œฆฌšธ ๊ฒฝšฐ Global Thresholdฅผ ˆ˜–‰•˜ ๊ธฐŒ€•œ ๊ฒฐ๊ณผฅผ –๊ธฐ ž˜“ค‹ค.
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:26
Processing time 0.0289 sec