파이썬 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" 로 전달하면 된다.