๐Ÿ“Œํ”„๋กœ์ ํŠธ ์ด์ •๋ฆฌ - minho0315/OpenCV GitHub Wiki

์กฐ์žฅ : ์ด๋ฏผํ˜ธ

์กฐ์› : ์œ ์Šน์šฐ, ๋ฐ•์ธํ˜, ๊ณ ์žฌ๋ฏผ

๐Ÿ” ํ”„๋กœ์ ํŠธ ์‹œ์ž‘

๐Ÿ”‘ํ”„๋กœ์ ํŠธ ์ œ๋ชฉ

OpenCV๋ฅผ ํ™œ์šฉํ•œ OMR์นด๋“œ ์ธ์‹

๐Ÿ”‘ํ”„๋กœ์ ํŠธ ๋‚ด์šฉ ๋ฐ ๋ฐฐ๊ฒฝ

QR์ฝ”๋“œ ์ธ์‹ ํ”„๋กœ๊ทธ๋žจ์„ ์‘์šฉํ•œ ํ”„๋กœ์ ํŠธ๋กœ, ํ˜„์žฌ ๊ฐ๊ด€์‹ ๋‹ต์•ˆ ์ฑ„์ ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” OMR ์ฑ„์  ์‹œ์Šคํ…œ์„
opencv๋กœ ์ฝ”๋”ฉ, ํ”„๋กœ๊ทธ๋žจํ™” ํ•˜๊ณ  ์ฑ„์  ๊ธฐ๋Šฅ ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ถ”๊ฐ€๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š”๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ์žก์•˜๋‹ค.

๐Ÿ”‘๋ชฉํ‘œ

OMR์„ ์ •ํ™•ํ•˜๊ฒŒ ์ธ์‹ (์ด๋ฏธ์ง€๋ฅผ ๋ณด๊ณ  ์ธ์‹) ์ฑ„์  ๊ธฐ๋Šฅ ํ‰๊ท , ๊ฐ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ •๋‹ต๋ฅ , ์„์ฐจ, ํ•™์  ๋“ฑ๋“ฑ ์ถ”๊ฐ€๊ธฐ๋Šฅ ์ œ๊ณต

๐Ÿ”‘์‚ฌ์šฉ์–ธ์–ด

C++


๐Ÿ”๊ธฐ๊ฐ„ ๋ณ„ ์ง„ํ–‰์‚ฌํ•ญ

๐Ÿ”‘1์ฃผ์ฐจ

1. omr ๊ฒ€์ถœ์„ ์œ„ํ•œ 7๋‹จ๊ณ„ ์ดํ•ด

  1. OMR ์‹œํ—˜์ง€๊ฐ€ ์žˆ๋Š” ์ด๋ฏธ์ง€์—์„œ ์‹œํ—˜์ง€ ๊ฒ€์ถœ์„ ์œ„ํ•œ ์ด๋ฏธ์ง€์ฒ˜๋ฆฌ - ์ด๋ฏธ์ง€ ์ฝ๊ธฐ, gray, ํ๋ฆฌ๊ฒŒ, edge ๊ฒ€์ถœ
  2. OMR ์‹œํ—˜์ง€ ์‚ฌ๊ฐํ˜• ๊ฒ€์ถœ ๋ฐ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ - ์›๊ทผ๋ณ€ํ™˜
  3. ์ฑ„์ ์„ ์œ„ํ•œ ๋‹ค๊ฐํ˜•(์›) ๊ฒ€์ถœ ์ด๋ฏธ์ง€์ฒ˜๋ฆฌ - ์ด์ง„ํ™”, ๋‹ค๊ฐํ˜•๊ฒ€์ถœ
  4. ๊ฒ€์ถœ๋œ ๋‹ค๊ฐํ˜•(์›)์„ ์ฑ„์ ํ•˜๊ธฐ ์œ„ํ•ด ์ •๋ ฌ - sort
  5. ์–ด๋–ค ๋‹ค๊ฐํ˜•(์›)์ด ์ฑ„์›Œ์กŒ๋Š”์ง€ ๊ฒ€์ถœ
  6. ๊ฒ€์ถœ๋œ ๋‹ต๊ณผ ์ •๋‹ต์„ ํ‘œ์‹œ ๋ฐ ๋น„๊ต - ์ •๋‹ต์€ ๋…น์ƒ‰, ๊ฒ€์ถœ๋œ ๋‹ต์€ ๋นจ๊ฐ„์ƒ‰
  7. ์ฑ„์ ๊ฒฐ๊ณผ๋ฅผ ํ™”๋ฉด์— ํ‘œ์‹œ

2. omr ์—ฌ๋Ÿฌ๊ฐœ ๊ฒ€์ถœ์„ ์œ„ํ•œ ์ค€๋น„

๊ฐ omr ๋งˆ๋‹ค id๊ฐ’ ๋ถ€์—ฌ

2


3. ์ถ”๊ฐ€๊ธฐ๋Šฅ ๊ตฌํ˜„

์ดํ•ฉ ํ‰๊ท  ๋“ฑ์ˆ˜


๐Ÿ”‘2์ฃผ์ฐจ

1. ๊ฐ™์€ ์ค„์˜ ์› ์—ฌ๋Ÿฌ๊ฐœ ์ธ์‹

ํ•™๋ฒˆ ์ธ์‹์„ ์œ„ํ•ด ํ•„์š”ํ•œ ์ž‘์—…

2

2. ์ƒˆ๋กœ์šด omr์นด๋“œ

ํ•™๋ฒˆ 9์ž๋ฆฌ, ๋ฌธ์ œ 20๋ฌธ์ œ

1


์ƒˆ๋กœ์šด omr์นด๋“œ ์ธ์‹์„ ์œ„ํ•œ 6๋‹จ๊ณ„

  1. omr์นด๋“œ ์‚ฌ๊ฐํ˜•์ธ์‹ ๋ฐ ์›๊ทผ ๋ณ€ํ™˜ ๋ฐ ์‚ฌ์ด์ฆˆ ๊ณ ์ • ์ด๋ฏธ์ง€์—์„œ omr์นด๋“œ๋งŒ ์ธ์‹ -> ์›๊ทผ๋ณ€ํ™˜์œผ๋กœ ์ง์‚ฌ๊ฐํ˜• -> resize()๋กœ ์‚ฌ์ด์ฆˆ ๊ณ ์ •
  2. ์ด๋ฏธ์ง€ ๋ถ„ํ• 
  3. ํ•™๋ฒˆ ๋ถ€๋ถ„ ์ธ์‹
  4. ๋ฌธ์ œ ๋ถ€๋ถ„ ์ฑ„์ 
  5. ์ด๋ฏธ์ง€ ํ•ฉ์น˜๊ธฐ
  6. ์˜ˆ์™ธ์ฒ˜๋ฆฌ - omr์นด๋“œ์˜ ๋ฒˆํ˜ธ๋ฅผ ์„ ํƒํ•˜์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ ํ‘œ์‹œ

4


3. ์ถ”๊ฐ€๊ธฐ๋Šฅ๊ตฌํ˜„

txtํŒŒ์ผ๋กœ ์ €์žฅ

3


๐Ÿ”‘3์ฃผ์ฐจ

1. omr์นด๋“œ์˜ˆ์‹œ์ถ”๊ฐ€ 20์žฅ

2. xmlํŒŒ์ผ ์ถ”๊ฐ€

TinyXML

TinyXML ์€ C ++ ์–ธ์–ด๋ฅผ ์œ„ํ•œ ์ž‘๊ณ  ๋‹จ์ˆœํ•˜๋ฉฐ ์šด์˜ ์ฒด์ œ์— ๋…๋ฆฝ์ ์ธ XML ํŒŒ์„œ

5


3. ๊ด€๋ฆฌ์ž๋ชจ๋“œ ์„ค์ •

1


๐Ÿ”‘4์ฃผ์ฐจ

1. omr์นด๋“œ ์—ฌ๋Ÿฌ ๋ฐฉํ–ฅ์œผ๋กœ ์ธ์‹ํ•ด๋ณด๊ธฐ

๋ฐ๊ธฐ, ๊ธฐ์šธ๊ธฐ ์กฐ์ ˆ

2. ์ธ์‹๋ฅ  ๊ณ„์‚ฐ

3


3. ๋ฌธ์ œ๋ณ„ ์ •๋‹ต๋ฅ  ๊ณ„์‚ฐ

5


๐Ÿ” ์•„์‰ฌ์šด์ 

omr์นด๋“œ ์ด๋ฏธ์ง€ ๋ฐ๊ธฐ, ๊ธฐ์šธ๊ธฐ ๋“ฑ์— ๋”ฐ๋ผ ์ธ์‹์ด ์•ˆ๋˜๋Š” ์ ์ด ์•„์‰ฌ์› ๋‹ค.

โš ๏ธ **GitHub.com Fallback** โš ๏ธ