OpenCV 텍스트 인식(OCR)

tpids·2024년 7월 9일

OpenCV

목록 보기
3/8

텍스트 인식(OCR)

# 설치 실행 코드
!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)

profile
개발자

0개의 댓글