[[TableOfContents]] = 프로ì 트 = == 참여 == * ì •ì§„ê²½ == 목표 == * Image로 부터 ISBN 스캔ë¼ì¸ 추출, í•´ì„ * 구글 안드로ì´ë“œì—서 ë™ìž‘ = 1D Barcode Image Recognition = == Symbology == * 1ì°¨ì› ë°”ì½”ë“œ ì¸ì‹ì„ 하기 위해서는 해당 ë°”ì½”ë“œì˜ ì‹¬ë³¼ë¡œì§€ë¥¼ ì´í•´í•´ì•¼ 한다. * 심볼로지란, 바코드를 표시하는 ë°©ë²•ì„ ì •í•œ 규칙ì´ë‹¤. ì´ ê·œì¹™ì´ ì¡´ìž¬í•´ì•¼ 해당 바코드를 ìƒì„±í•˜ê±°ë‚˜ ì½ì„ 수 있다. === Bar and Space === * Bar는 ë°”ì½”ë“œì˜ ê²€ì€ ë¶€ë¶„, Space는 í° ë¶€ë¶„ì´ë©°, ê°ê° Black, Whiteë¼ê³ í‘œí˜„í•˜ê¸°ë„ í•œë‹¤. === X-dimension === * 가장 ì¢ì€ Bar í˜¹ì€ ê°€ìž¥ ì¢ì€ Space(ì˜ í 길ì´)를 ì˜ë¯¸í•œë‹¤. === Quite Zone === * 바코드를 보다 쉽게 ì¸ì‹í•˜ê¸° 위해, 바코드 좌우로 X-dimensionì˜ 10ë°°ì˜ Spaceê°€ 존재한다. === Check Digit === * 바코드를 잘못 ì¸ì‹í•˜ëŠ” 경우를 방지하기 위해. ì‹¤ì œ ë°ì´í„°ë¡œë¶€í„° ìƒì„±ë˜ëŠ” ë°ì´í„°ê°€ ìžˆì„ ìˆ˜ 있다. == EAN-13 Symbology == * EAN-13ì€ 13ìžë¦¬ 숫ìž(Check Digit í¬í•¨)로 ìƒì„±í•˜ê±°ë‚˜ í•´ì„í• ìˆ˜ 있는 바코드ì´ë‹¤. * EAN-13ì˜ ì‹¬ë³¼ë¡œì§€ì— ëŒ€í•´ 잘 설명ë˜ì–´ 있는 페ì´ì§€(ì˜ë¬¸) : http://www.barcodeisland.com/ean13.phtml === X-dimension === * 가장 ë‘꺼운 Bar í˜¹ì€ Spaceì˜ í 길ì´ëŠ” X-dimensionì˜ 4ë°°ì´ë‹¤. === 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 }}} = Android = == Image Format == === NV21 === * ê³µì‹ ë¬¸ì„œì— ë”°ë¥´ë©´ í•ìƒ ì§€ì›ë˜ëŠ” í¬ë§·ì´ë¼ê³ 한다. === YV12 === * ê³µì‹ ë¬¸ì„œì— ë”°ë¥´ë©´ API level 12(허니컴 3.1.x)부터 í•ìƒ ì§€ì›ë˜ëŠ” í¬ë§·ì´ë¼ê³ 한다. == Camera ==