OCR(Optical Character Recognition)은 광학 문자 인식. 즉 2차원 이미지에서 텍스트를 추출해서 변환하는 것을 말한다. OCR은 정확한 작동을 위한 다음과 같은 하위 프로세스를 갖는다.
Tesseract는 Apache 2.0 라이센스로 제공되는 구글의 광학 문자 인식 엔진이다.
설치는 여기 (윈도우 기준)
tesseract 설치가 끝났다면
pytesseract와 Pillow를 설치해야 한다.
pip install pytesseract
pip install Pillow
import pytesseract
from PIL import Image
pytesseract.pytesseract.tesseract_cmd = r'tesseract 설치경로'
''안에 설치한 경로값을 넣으면 된다.
보통 아무 설정값도 건드리지 않았다면 C:\Program Files\Tesseract-OCR\tesseract.exe 요거일 것이다.

나는 위 이미지로 테스트해볼 것이다.
import pytesseract
from PIL import Image
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
img = Image.open('이미지 경로')
# 사진 속 글자를 텍스트로 변환
result = pytesseract.image_to_string(img)
print(result)
테서렉트는 타밀어, 우즈벡어, 태국어 등등 웬만한 언어는 다 지원한다.
추출해야 하는 글자가 한글일 경우 pytesseract.image_to_string(img, lang='kor') 이렇게 lang='kor'를 붙여주면 된다.
underweight
thick extellagvapeene vastness,
ickness immensity
~' spanfoyer, diameteg| ted
diophonous *fongey po pices one
bottleneck densewithered wiry) gangly_
slende , thick
scale size spread
poky Gi thin swath
acked / sweep
° extent \slice breadthcrampedscope
narrow
a
taperexpansiveness_ skinny
Immenseness
streamlined
Um... 나름 글자 추출은 잘 되지만
너무 중구난방으로 글자가 모여있는 이미지를 선택한 것 같다.

위 이미지로 변경해서 추출해 보았다.
H23. 3308
원래 자동차 번호판 같은 걸 텍스트로 변환할 때 쓰이는 기술이라 그런지
번호판으로 변환하니 깔끔하게 잘 된다.