OpenCV ๋ฅผ ํ™œ์šฉํ•œ ๋ช…ํ•จ์ธ์‹ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๊ฐ•์ขŒ

๋ช…ํ•จ์ธ์‹์„ ๊ตฌํ˜„ํ•˜๋Š” ์‹ค์ „์„ ํ†ตํ•ด OpenCV๋ฅผ ํ™œ์šฉํ•˜๊ณ  ์ด๋ฏธ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค. OpenCV์— ๋Œ€ํ•ด์„œ๋Š” ๊ฐ„๋žตํžˆ ์„ค๋ช…ํ•˜๋ฉฐ, ๋ช…ํ•จ์ธ์‹์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ OpenCV ํ•จ์ˆ˜๋“ค์€ ์ข€ ๋” ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ฆ‰ ๊ธฐ์ดˆ๊ฐ•์ขŒ๋ผ๊ธฐ ๋ณด๋‹ค๋Š” ๋ช…ํ•จ์ธ์‹์ด๋ผ๋Š” ์‹ค์ „์„ ์œ„ํ•œ ์—‘๊ธฐ์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Tesseract ๋ฐ Microsoft์˜ OCR์—”์ง„์„ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ์•ˆ๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ณธ ๊ฐ•์˜์˜ ์†Œ์Šค์ฝ”๋“œ๋Š” Python๊ธฐ๋ฐ˜์ด์ง€๋งŒ, ํ™œ์šฉํ•˜๋Š” OpenCV ํด๋ž˜์Šค ๋ฐ ํ•จ์ˆ˜์™€ ์ด๋ฏธ์ง€ ์ธ์‹ ๋ฐ ์ฒ˜๋ฆฌ๊ธฐ์ˆ ์„ ์ตํžˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ์™€ iOS์— ์ ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋ฌด๋ฆฌ๊ฐ€ ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ˆ˜๊ฐ•ํ•˜์‹œ๋Š” ๋ถ„์€ ๊ฐ•์˜ ์Šฌ๋ผ์ด๋“œ, ์‹ค์ œ ๋™์ž‘ํ•˜๋Š” ๋ช…ํ•จ ์ธ์‹ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 2017๋…„ 1์›”๊ณผ 2์›”์— 3ํšŒ์˜ ์˜คํ”„๋ผ์ธ ์„ธ๋ฏธ๋‚˜๋ฅผ ํ•˜๋ฉด์„œ ๋”์šฑ ๊ฐœ์„ ๋˜๊ณ  ๊ฒ€์ฆ๋œ ๊ฐ•์˜ ๋‚ด์šฉ์„ ๊ฐ•์‚ฌ๊ฐ€ ์ •์„ฑ๋“ค์—ฌ ์˜จ๋ผ์ธ์šฉ์œผ๋กœ ๋‹ค์‹œ ๋…น์Œํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ณธ ๊ฐ•์˜์—์„œ ํ™œ์šฉ๋˜๋Š” OpenCV ํ•จ์ˆ˜๋“ค์ž…๋‹ˆ๋‹ค. cv2.Canny() cv2.GaussianBlur() cv2.VideoCapture() cv2.adaptiveThreshold() cv2.approxPolyDP() cv2.arcLength() cv2.boundingRect() cv2.boxPoints() cv2.contourArea() cv2.convertScaleAbs() cv2.createTrackbar() cv2.cvtColor() cv2.destroyAllWindows() cv2.dilate() cv2.drawContours() cv2.findContours() cv2.getAffineTransform() cv2.getPerspectiveTransform() cv2.getTrackbarPos() cv2.imread() cv2.imshow() cv2.imwrite() cv2.minAreaRect() cv2.namedWindow() cv2.rectangle() cv2.resize() cv2.threshold() cv2.waitKey() cv2.warpAffine() cv2.warpPerspective()

์Šค๋งˆ์ผ๊ฒŒ์ดํŠธ ์Šคํ† ๋ธŒ
webzen
๋ฉ”์‰ฌ์ฝ”๋ฆฌ์•„
ํ˜„๋Œ€์ž๋™์ฐจ
SK๊ทธ๋ฃน

SK๊ทธ๋ฃน

์ž„์ง์›๋“ค๋„ ์ด ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์žˆ์–ด์š”!

์Šค๋งˆ์ผ๊ฒŒ์ดํŠธ ์Šคํ† ๋ธŒ
webzen
๋ฉ”์‰ฌ์ฝ”๋ฆฌ์•„
ํ˜„๋Œ€์ž๋™์ฐจ
SK๊ทธ๋ฃน

SK๊ทธ๋ฃน

์ž„์ง์›๋“ค๋„ ์ด ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์žˆ์–ด์š”!

๋จผ์ € ๊ฒฝํ—˜ํ•œ ์ˆ˜๊ฐ•์ƒ๋“ค์˜ ํ›„๊ธฐ

4.5

5.0

๊ฒ€์€๊ฑฐ๋ถ€๊ธฐ

32% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

๋งŽ์€ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

5.0

Jun

100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

๋น ๋ฅด๊ฒŒ ๋ง›๋ณด๊ธฐ ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

5.0

bertter

100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

์ข‹๋„ค์š”..

์ˆ˜๊ฐ• ํ›„ ์ด๋Ÿฐ๊ฑธ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”

  • OpenCV๋ฅผ ํ™œ์šฉํ•œ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ ๊ธฐ์ˆ 

  • ๋ช…ํ•จ์˜ ์™ธ๊ณฝ ์ถ”์ถœ ๋ฐ ๋ณ€ํ™˜ ๊ธฐ์ˆ 

  • ์กฐ๋ช… ์˜ํ–ฅ์„ ์ œ๊ฑฐํ•œ ์Šค์บ” ํšจ๊ณผ ๊ตฌํ˜„

  • ์‹ค์‹œ๊ฐ„ ๋ช…ํ•จ ์ธ์‹ ๊ธฐ์ˆ 

  • OCR ๊ธฐ์ˆ ์„ ์ด์šฉํ•œ ๊ธ€์ž ์ธ์‹

1. Open CV ๊ฐ•์ขŒ ์†Œ๊ฐœ

OpenCV ๋ฅผ Python๊ธฐ๋ฐ˜์œผ๋กœ ์ด์šฉํ•ด์„œ ๋ช…ํ•จ์ธ์‹๊ธฐ์ˆ ์„ ๋‹จ๊ณ„๋ณ„๋กœ ๊ตฌํ˜„ํ•˜๋Š” OpenCV ๊ฐ•์ขŒ ์ž…๋‹ˆ๋‹ค. OpenCV ์— ๋Œ€ํ•œ ์ด๋ก ์„ ์žฅํ™ฉํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ธฐ ๋ณด๋‹ค๋Š” ์‹ค์ „ ํ™œ์šฉ ํŒ์„ ์••์ถ•ํ•ด์„œ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. Python๊ธฐ๋ฐ˜์œผ๋กœ ์ง„ํ–‰ํ•˜์ง€๋งŒ, ์•ˆ๋“œ๋กœ์ด๋“œ์™€ iOS์—๋„ ์ ์šฉ๊ฐ€๋Šฅํ•œ ์ด๋ฏธ์ง€ ์ธ์‹ ๋ฐ ์ฒ˜๋ฆฌ๊ธฐ์ˆ ์„ ์‹ค์Šต์„ ํ†ตํ•ด ์ตํž ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

OpenCV์˜ ๋‹ค์–‘ํ•œ ์ ์šฉ ์‚ฌ๋ก€๋“ค์„ ํ•ด๋‹น ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ๋‹ต์Šตํ•ด ๋ด„์œผ๋กœ์จ OpenCV๋ฅผ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•ด์•ผ ํ• ์ง€์— ๋Œ€ํ•œ ๋ฐฉ๋ฒ•์„ ์Šต๋“ํ•  ์ˆ˜ ์žˆ๊ณ , ๋ช…ํ•จ์ธ์‹ ๊ธฐ์ˆ ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์„ ๋‹จ๊ณ„๋ณ„๋กœ ๋ฐฐ์šฐ๋ฉด์„œ OpenCV์˜ ํ™œ์šฉ๋ฐฉ๋ฒ• ๋ฐ ๊ฐœ๋…์— ๋Œ€ํ•ด์„œ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ํ„ฐ๋“ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ฐ•์ขŒ์—์„œ ํ•™์Šตํ•˜์‹œ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™œ์šฉ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

openCV

2. ๋„์›€๋˜๋Š” ๋ถ„๋“ค

  • ํŒŒ์ด์ฌ(Python) ์„ ์‚ฌ์šฉํ•ด ๋ณธ ๊ฒฝํ—˜์ด ์žˆ๋Š” SW๊ฐœ๋ฐœ์ž
  • OpenCV ๋ฅผ ์ฒ˜์Œ ๋ฐฐ์šฐ๊ฑฐ๋‚˜, ๋ฐฐ์šฐ๊ฑฐ๋‚˜ ๋‹ค์‹œ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ๋ถ„
  • OpenCV ํ™œ์šฉ์— ๊ด€์‹ฌ์ด ์žˆ๋Š” ๋ถ„
  • ์ด๋ฏธ์ง€ ์ธ์‹ ๋ฐ ์ฒ˜๋ฆฌ ๊ธฐ์ˆ ์„ ์ด์šฉํ•œ ์„œ๋น„์Šค ๊ฐœ๋ฐœ์— ๊ด€์‹ฌ์ด ์žˆ๋Š” ๋ถ„

3. ๊ฐ•์ขŒ ํŠน์ง•

  • ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ  : Python, OpenCV
  • Windows ๋˜๋Š” macOS ๊ธฐ๋ฐ˜ PC
  • ๊ฐœ๋ฐœํ™˜๊ฒฝ: Anaconda, Jupyter
  • ๊ฐ•์˜์ˆ˜์ค€: ์ž…๋ฌธ๋ถ€ํ„ฐ ์‹ค์ „์‘์šฉ๊นŒ์ง€
  • ๊ฐ•์˜ ์ˆ˜๊ฐ•์ž๋“ค์—๊ฒŒ ์„ค์น˜์„ค๋ช…์„œ ๋ฐ ์†Œ์Šค์ฝ”๋“œ ์ œ๊ณต

4. ๊ฐ•์‚ฌ ์†Œ๊ฐœ

๋ณ€๋™๋‚จ
* ํ•œ์–‘๋Œ€ํ•™๊ต ์ปดํ“จํ„ฐ์ „๊ณต
* ์ด๋งค์ง„์ปต 2015 ์ฝ”๋ฆฌ์•„ํŒŒ์ด๋„ ์›”๋“œ์‹œํ‹ฐ์ฆŒ์‹ญ๋ถ„์•ผ ์šฐ์Šน
* ์†Œํ”„ํŠธ์›จ์–ด ๋งˆ์—์ŠคํŠธ๋กœ 6๊ธฐ ์ตœ์ข… ์ธ์ฆ์ž 9์ธ ์„ ์ •

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ดˆ๋ณด์ž

  • ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ์— ๊ด€์‹ฌ ์žˆ๋Š” ์‚ฌ๋žŒ

  • ์ปดํ“จํ„ฐ ๋น„์ „ ๊ธฐ์ˆ ์„ ๋ฐฐ์šฐ๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ

  • ์‹ค์šฉ์ ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ํ•™์Šตํ•˜๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ

์•ˆ๋…•ํ•˜์„ธ์š”
๋งˆ์ด์บ ํผ์Šค์ž…๋‹ˆ๋‹ค.

669

๋ช…

์ˆ˜๊ฐ•์ƒ

44

๊ฐœ

์ˆ˜๊ฐ•ํ‰

1

๊ฐœ

๋‹ต๋ณ€

4.5

์ 

๊ฐ•์˜ ํ‰์ 

1

๊ฐœ

๊ฐ•์˜

๊ฐ•๋‚จ์—ญ 12๋ฒˆ ์ถœ๊ตฌ, ๋งˆ์ด์บ ํผ์Šค.

SW๊ฐœ๋ฐœ์ž๋“ค์„ ์œ„ํ•œ ๋ชจ์ž„๊ณผ ๊ต์œก์ด ์žˆ๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค.

๋ถ„์•ผ: ๋”ฅ๋Ÿฌ๋‹, ๋ฐ์ดํ„ฐ๋ถ„์„, ์• ์ž์ผ, ๋ธ”๋ก์ฒด์ธ, ํด๋ผ์šฐ๋“œ

๋”๋ณด๊ธฐ

๊ณต๋™ ์ง€์‹๊ณต์œ ์ž

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

19๊ฐœ โˆ™ (2์‹œ๊ฐ„ 26๋ถ„)

๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์ „์ฒด

44๊ฐœ

4.5

44๊ฐœ์˜ ์ˆ˜๊ฐ•ํ‰

  • ๊ฒ€์€๊ฑฐ๋ถ€๊ธฐ๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    ๊ฒ€์€๊ฑฐ๋ถ€๊ธฐ

    ์ˆ˜๊ฐ•ํ‰ 29

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    32% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ๋งŽ์€ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

    • Jun๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
      Jun

      ์ˆ˜๊ฐ•ํ‰ 3

      โˆ™

      ํ‰๊ท  ํ‰์  5.0

      5

      100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

      ๋น ๋ฅด๊ฒŒ ๋ง›๋ณด๊ธฐ ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

      • bertter๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
        bertter

        ์ˆ˜๊ฐ•ํ‰ 13

        โˆ™

        ํ‰๊ท  ํ‰์  4.3

        5

        100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

        ์ข‹๋„ค์š”..

        • SeoungKwon Kim๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
          SeoungKwon Kim

          ์ˆ˜๊ฐ•ํ‰ 15

          โˆ™

          ํ‰๊ท  ํ‰์  4.8

          4

          100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

          ๋‹จ์ˆœํ•˜์ง€๋งŒ ๊ผญ ํ•„์š”ํ•œ ๋‚ด์šฉ๋งŒ ๊น”๋”ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ํ›Œ๋ฅญํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ์ดˆ๊ธ‰์ด๋ผ ์‹ค๋ฌด ๊ฒฝํ—˜ ์ „๋‹ฌ์€ ์ข€ ์•„์‰ฌ์› ์–ด์š”.

          • ์ด์ง€์›๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
            ์ด์ง€์›

            ์ˆ˜๊ฐ•ํ‰ 1

            โˆ™

            ํ‰๊ท  ํ‰์  4.0

            4

            100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

            ์งˆ๋ฌธ์žˆ์Šต๋‹ˆ๋‹ค ์•ˆ๋“œ๋กœ์ด๋“œ์™€ opencv๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ตฌํ˜„ํ•˜๊ณ ์‹ถ์€๋ฐ ๊ทธ๋Ÿฌํ•œ ๊ฐ•์˜๊ฐ™์€๊ฒŒ ์žˆ๋‚˜์š”?

            ๋น„์Šทํ•œ ๊ฐ•์˜

            ๊ฐ™์€ ๋ถ„์•ผ์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!