# 설치 실행 코드
!pip install pytesseract
# 환경 변수 추가
import pytesseract as pyt
# r : 뒤에 오는 문자열을 그대로 기억
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
# text.png 컬러형태로 읽어오기
import cv2
import matplotlib.pyplot as plt
img = cv2.imread('./data/text.png', cv2.IMREAD_COLOR)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img)
plt.show()
text = pyt.image_to_string(img, lang='eng')
print(text)
# story.png 파일 불러오기
# 한국어 인식하도록 설정하기
# kor
# 텍스트 출력하기
import cv2
import matplotlib.pyplot as plt
img = cv2.imread('./data/story.png', cv2.IMREAD_COLOR)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img)
plt.show()
text2 = pyt.image_to_string(img, lang='kor')
print(text2)
# pytesseract 외에 다양한 deepLearning 학습을 진행한 ocr 도구가 존재
import cv2
import matplotlib.pyplot as plt
img = cv2.imread('./data/nature.png', cv2.IMREAD_COLOR)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img)
plt.show()
text3 = pyt.image_to_string(img, lang='kor')
print(text3)
# 이미지 내부 텍스트 크기, 색상 밝기 정도에 따라서 인식의 오류 있을 수 있음
# 개선해 나가는 방법은 opencv 제공하는 특정 영역 접근, 색상 공간 변
import cv2
import matplotlib.pyplot as plt
img = cv2.imread('./data/2024.jpg', cv2.IMREAD_COLOR)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img)
plt.show()
text4 = pyt.image_to_string(img, lang='kor')
print(text4)
# car.png 불러와서 출력해보기
import cv2
import matplotlib.pyplot as plt
img_car = cv2.imread('./data/car.png', cv2.IMREAD_GRAYSCALE)
th_val, img_car = cv2.threshold(img_car, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)
img_car_crop = img_car[:,100:605]
plt.title(f'outu:{th_val}')
plt.imshow(img_car_crop, cmap='gray')
plt.show()
car_text = pyt.image_to_string(img_car_crop, lang='kor')
print(car_text)
