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.0269 sec