파이썬

파이썬 easyocr 이미지 문자 인식

by nanumi posted Jan 16, 2023
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

파이썬 easyocr 이미지 문자 인식

 

pip install easyocr

파이썬에서는 easyocr이라는 tesseract에 버금가능 OCR 기능을 모듈로 제공한다.

 https://liwonfather.tistory.com/197

간단하게 pip를 통해 해당 모듈을 설치할 수 있다.

 

 

import easyocr
import cv2

file = r"C:\Users\root\Desktop\sample.png"
reader = easyocr.Reader(['ko', 'en'], gpu=False)
img = cv2.imread(file)
text = reader.readtext(img, detail=0)
print(text)

sample.png 파일은 이전 포스팅에서 사용한 naver 홈페이지의 로그인 버튼을 캡쳐한 이미지다.

 

easyorc은 reader라는 오브젝트를 생성 후

 

해당 오브젝트의 readtext 함수에 이미지와 옵션을 전달하는 방식이다.

 

먼저, reader 오브젝트를 생성할 때는 추출할 언어를 선택할 수 있고

 

CPU 연산 대신 GPU 연산을 선택할 수 있다.

 

GPU 연산이 CPU 연산보다 빠르다고 하나 작성자의 PC는 오래되어서 그런지 사용되지 않았다.

 

readtext 함수에는 읽어들이 이미지와 옵션을 전달할 수 있는데

 

detail=0 옵션은 단순히 결과값만 추출하고 싶을 때 사용하는 옵션이다.

 

detail=0 옵션을 생략하면 이미지가 추출된 영역의 좌표와 크기까지 같이 출력된다.

 

추가로 allowlist라는 옵션도 눈여결볼만 한데 해당 옵션은 추출될 수 있는 가지수를 지정하는 옵션이다.

 

예를 들어 숫자만 인식한다고 하면 allowlist="0123456789" 로 전달하면 된다.