2.1. Symbology ¶
- 1์ฐจ์ ๋ฐ์ฝ๋ ์ธ์์ ํ๊ธฐ ์ํด์๋ ํด๋น ๋ฐ์ฝ๋์ ์ฌ๋ณผ๋ก์ง๋ฅผ ์ดํดํด์ผ ํ๋ค.
- ์ฌ๋ณผ๋ก์ง๋, ๋ฐ์ฝ๋๋ฅผ ํ์ํ๋ ๋ฐฉ๋ฒ์ ์ ํ ๊ท์น์ด๋ค. ์ด ๊ท์น์ด ์กด์ฌํด์ผ ํด๋น ๋ฐ์ฝ๋๋ฅผ ์์ฑํ๊ฑฐ๋ ์ฝ์ ์ ์๋ค.
2.1.1. Bar and Space ¶
- Bar๋ ๋ฐ์ฝ๋์ ๊ฒ์ ๋ถ๋ถ, Space๋ ํฐ ๋ถ๋ถ์ด๋ฉฐ, ๊ฐ๊ฐ Black, White๋ผ๊ณ ํํํ๊ธฐ๋ ํ๋ค.
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
- 101
- Left Characters
- 0XXXXX1 * 6 (space๋ก ์์ํด์ bar๋ก ๋๋จ)
- 0XXXXX1 * 6 (space๋ก ์์ํด์ bar๋ก ๋๋จ)
- Center Guard
- 01010
- 01010
- Right Characters
- 1XXXXX0 * 6 (bar๋ก ์์ํด์ space๋ก ๋๋จ)
- 1XXXXX0 * 6 (bar๋ก ์์ํด์ space๋ก ๋๋จ)
- Right(End) Guard
- 101
- 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.3. Check Digit ¶
- EAN-13์ Check Digit๋ ๋ง์ง๋ง ํ ์๋ฆฌ์ด๋ฉฐ, ๋๋จธ์ง 12์๋ฆฌ๋ก ๋ถํฐ ์์ฑ๋๋ค.
- ๊ฐ 12์๋ฆฌ ์ซ์์ ๊ฐ์ค์น๋ฅผ ๊ณฑํ์ฌ ๋ค ํฉํ๊ณ , ํฉํ ๊ฐ์ 10์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ 10์์ ๋นผ๋ฉด Check Digit๊ฐ ๋์จ๋ค.
- ๊ฐ์ค์น๋ 1, 3, ์ด ๋ฐ๋ณต๋๋ ํจํด์ด๋ค. ์ฒซ ๋ฒ์งธ ์๋ฆฌ ์ซ์์ 1์ ๊ณฑํ๊ณ , ... , ์ด๋ ๋ฒ์งธ ์๋ฆฌ ์ซ์์ 3์ ๊ณฑํ๋ค.
- ๊ฐ์ค์น๋ 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.1. Character ¶
- 0์ space, 1์ bar๋ฅผ ์๋ฏธํ๋ค.
Character | Left(Odd) | Left(Even) | Right |
0 | 0001101 | 0100111 | 1110010 |
1 | 0011001 | 0110011 | 1100110 |
2 | 0010011 | 0011011 | 1101100 |
3 | 0111101 | 0100001 | 1000010 |
4 | 0100011 | 0011101 | 1011100 |
5 | 0110001 | 0111001 | 1001110 |
6 | 0101111 | 0000101 | 1010000 |
7 | 0111011 | 0010001 | 1000100 |
8 | 0110111 | 0001001 | 1001000 |
9 | 0001011 | 0010111 | 1110100 |
- Encoding์ ์ฝ๊ฒ ํด๋
ํ๊ธฐ ์ํด ์์ ํ๋ฅผ ํตํด ์ฑ์ง์ ํ์
ํด๋๋ ๊ฒ์ด ์ข๋ค.
- Left(Odd), Right๋ ๊ฐ๊ฐ์ ๋นํธ๋ฅผ ๋ฐ์ ํ์ฌ ์๋ก ๊ฐ๊ฒ ๋ง๋ค ์ ์๋ค.
- Left(Even), Right๋ ๋นํธ์ด์ ์ข์ฐ ๋ฐ์ ํ์ฌ ์๋ก ๊ฐ๊ฒ ๋ง๋ค ์ ์๋ค.
- 0 ํน์ 1์ด ๊ฐ์ฅ ๊ธธ๊ฒ ์ฐ์๋์ด๋ด์ผ 4๊ฐ์ด๋ค.
- Left์ ๊ฐ์ฅ ์ผ์ชฝ ๋นํธ๋ 0, ๊ฐ์ฅ ์ค๋ฅธ์ชฝ ๋นํธ๋ 1์ด๊ณ , Right๋ ๊ทธ ๋ฐ๋์ด๋ค.
- ๊ฐ์ด๋ฐ์ ์๋ ๋นํธ 5๊ฐ(32 ๊ฐ์ง์)๋ก ์ซ์๋ฅผ ๊ตฌ๋ถํ๋ฉฐ, Left(Odd), Left(Even) ์ค์ ๊ฒน์น๋ ๊ฒ์ด ์๋ค.
- ๊ฐ์ด๋ฐ์ ์๋ ๋นํธ 5๊ฐ(32 ๊ฐ์ง์)๋ก ์ซ์๋ฅผ ๊ตฌ๋ถํ๋ฉฐ, Left(Odd), Left(Even) ์ค์ ๊ฒน์น๋ ๊ฒ์ด ์๋ค.
- ๋ชจ๋ ์ธ์ฝ๋ฉ์ ๋ํด 0, 1์ ์์ญ์ผ๋ก ๊ตฌ๋ถํ๋ฉด ๊ทธ ์์ญ์ ํญ์ 4๊ฐ์ด๋ค.
- ์ฆ, ํ๋์ ์ซ์๋ฅผ ๋ํ๋ด๊ธฐ ์ํด 2๊ฐ์ Bar์ 2๊ฐ์ Space๊ฐ ์กด์ฌํ๋ค.
- ์ฆ, ํ๋์ ์ซ์๋ฅผ ๋ํ๋ด๊ธฐ ์ํด 2๊ฐ์ Bar์ 2๊ฐ์ Space๊ฐ ์กด์ฌํ๋ค.
2.2.4.2. First Number ¶
- ์คํ์ด์ค์ ๋ฐ์ ์ํด ์ง์ ์ ์ผ๋ก ํํ๋๋ ์ซ์๋ 12๊ฐ์ด๋ค. ๋๋จธ์ง ํ๋์ ์ซ์๋ Left Character์ ์ธ์ฝ๋ฉ์ ํด์ํด ์ป์ด๋ด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด 8801067070256 ์ด๋ผ๋ EAN-13 ๋ฐ์ฝ๋๊ฐ ์์ ๋, ๋ฐ์ฝ๋์ ์ง์ ์ ์ผ๋ก ์ป์ด์ง๋๊ฑด ๋งจ ์์ ์๋ฆฌ '8'์ด ๋น ์ง 801067070256 ์ด๊ณ , ์ด๋ Left Character์ ํด๋นํ๋ 801067์ ์ธ์ฝ๋ฉ์ ๋ณด๊ณ ์์๋ด์ผ ํ๋ค.
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 ์ธ์์ ์ฉ์ดํ๊ฒ ํ๊ธฐ ์ํจ
- ์๋ฅผ ๋ค์ด ํ๋ฐฑ ์์์ ๋ํด ์ํํ ๋ ์๊ณ๊ฐ(์ด๋ค ๋ฐ๊ธฐ๊ฐ)๋ณด๋ค ๋ฎ์ผ๋ฉด ๊ฒ์ ์, ๋์ผ๋ฉด ํฐ์์ผ๋ก ๋ณํํ๋ ๊ฒ.