개발/ETC
[Tesseract-OCR] 이미지에서 원하는 부분만 추출
wonpick
2021. 5. 10. 12:35
정형화 된 문서이고 심지어 스캔본인데 인식률이 좋지 못하다ㅠㅠ
from os import listdir
from os.path import isfile, join
import numpy
import cv2
import numpy as np
import sys
sys.stdout = open(r'C:\Users\user\Desktop\output.txt','w') #프린트된 출력물을 해당 경로 텍스트 파일로 저장함. a는 이어쓰기이고 w는 덮어쓰기
mypath=(r'C:\Users\user\Desktop\ocr') #이미지 5장이 들어있는 폴더 경로
onlyfiles = [ f for f in listdir(mypath) if isfile(join(mypath,f)) ]
images = numpy.empty(len(onlyfiles), dtype=object)
for n in range(0, len(onlyfiles)):
#images[n] = cv2.imread( join(mypath,onlyfiles[n]) )
pytesseract.pytesseract.tesseract_cmd = (r'C:\Program Files\Tesseract-OCR\tesseract.exe')
# 한글 인식률을 높이기 위해 trained data인 kor.traineddata,kor_vert.traineddata 다운
# 그 뒤 내 tesseract-ocr > tessdata파일에 이동
images[n]= pytesseract.image_to_string((Image.open(join(mypath,onlyfiles[n]))), lang="kor")
#images[n] = (images[n][30:168])
print(("#{}\n{}\n\n".format(n+1,images[n][35:168]))) #인식률이 좋지 못해 최대한 통으로 가져왔다.
#np.savetxt(r'C:\Users\user\Desktop\ output.txt',images,fmt='%s') #이후 리스트만 저장할때
- trained data 받는 곳
https://github.com/tesseract-ocr/tessdata- 참고 자료(tesseract 설치와 pytesseract 설치)
https://www.youtube.com/watch?v=rNxMwtottmM&t=13s- 정확도 높이기 위해 참고 해볼 자료
https://github.com/kairess/super_resolution