문자 인식 프로그램 만들기(1)
OCR(Optical Character Recognition)은 해석하면 '광학 문자 인식'으로, 이미지에서 문자를 인식하여 추출하는 기술입니다. 이번 절에서는 easyocr 패키지를 사용해서 파이썬 코드로 OCR 기술을 구현해 볼 것입니다.
easyocr은 네이버 클로바의 딥러닝 기술을 바탕으로 만든 파이썬 패키지입니다. 이 패키지는 영어를 비롯해 전 세계 80개 이상의 언어를 인식할 수 있습니다. easyocr은 두 단계를 거쳐 문자를 인식합니다.
1. 텍스트 감지: 이미지에서 텍스트가 있는 영역을 감지합니다.
2. 문자 인식: 개별 문자를 인식하고 문자열로 변환합니다.
문자 인식 프로그램 만들기
머신러닝과 딥러닝 등 인공지능 기술의 발달로 OCR 연구가 활발히 이뤄지고 있습니다. 딥러닝 기을을 바탕으로 만들어진 easyocr 패키지를 사용하여 이미지에 포함된 문자를 추출해 봅시다. 이미지는 'ch_05/input' 폴더에 'ocr.jpg'입니다.
이미지 속 문자 인식
비주얼 스튜디오 코드에서 새로운 파일을 만들고, 파일명을 'step_2_1.py'으로 변경하세요. 다음 코드를 입력한 뒤, 대화형 창에서 실행하면 'input' 폴더의 'ocr.jpg'이미지에 문자를 인식한 결과를 출력합니다.
import easyocr
from step_1 import IN_DiR # 이전에 작성한 모듈을 불러옵니다.
path = IN_DiR / "ocr.jpg" #04
reader = easyocr.Reader(["ko", "en"], verbose=False) # 05
parsed = reader.readtext(path.read_bytes()) # 06
parsed
[실행 결과]
[([[85, 288], [1088, 288], [1088, 457], [85, 457]],
'Being a vegetarian',
0.9823604886339942), ([[77, 417], [1159, 417], [1159, 574], [77, 574]],
'is a big missed steak',
0.4830981879580033)]
04 'ocr.jpg' 파일을 가리키는 Path 객체를 생성합니다.
05 Reader 객체를 생성하고, 리스트 타입으로 문자 인식에 사용할 언어를 전달합니다. 'ko'는 한국어, 'en'은 영어를 의미합니다.
06 Reader 객체의 함수 readtext()를 사용하여 이미지 속 문자를 인식합니다. 이때 Path 객체의 read_bytes()를 사용하여 이미지를 bytes 타입으로 불러옵니다.
변수 parsed에 이미지 속 텍스트의 위치와 인식한 텍스트, 그리고 인식한 테스트의 정확도를 나타낸 인식률이 리스트로 저장되어 있습니다.
'프로그래밍 언어 > Python' 카테고리의 다른 글
| 문자 인식 웹 앱 만들기 (0) | 2026.01.09 |
|---|---|
| 문자 인식 프로그램(2) (0) | 2026.01.05 |
| 웹의 작동 원리 이해하기 (1) | 2025.12.30 |
| 웹의 작동 원리 - 실습 환경 준비하기 (0) | 2025.12.27 |
| QR 코드에 이미지 삽입하기: pillow 패키지 활용 (0) | 2025.12.24 |