본문 바로가기
개발

파이썬 문자인식 숫자인식 해보자(pytesseract-OCR,deep-text-recognition)

by 화악 2022. 2. 24.
반응형

파이썬은 tesseract에서 제공하는 pytesseract를 이용하여 간단하게 문자인식과 숫자인식을 할 수 있습니다. 먼저 장점으로는 한두줄의 코딩만으로 문자를 추출할 수 있는 장점이 있고 단점으로는 요즘 OCR 에서 핫한 딥러닝 기반의 OCR 보다는 낮은 수준의 인식률입니다. 실제 사용하기는 무리가 있고 테스트 프로그램이나 토이 프로그램에 적용할 만한 수준이라 보시면됩니다.

 

 


1. 코드

import pytesseract
import cv2

img=cv2.imread('test.jpg',cv2.IMREAD_COLOR)

result = pytesseract.image_to_string(img, lang='kor')
print(result)

코드를 작성하시기전 pytesseract와 opencv라이브러리는 pip를 통해 설치 하시면됩니다. 네 단 4줄입니다 너무 간단한가요? 처음 설명드린데로 간단하지만 회전되있는 문자나 살짝 뒤틀린 문자에서는 문자인식 및 숫자인식을 정확히 못하는 현상이 발생할 수 있습니다. 저번에 opencv ip카메라 접속에 대한 포스팅을 했었는데요. 조금만 응용해서 ip카메라에 접속해서 그 화면을 실시간으로 문자인식(OCR)하는 프로그램을 만들어 볼 수도 있습니다. 

 

2022.01.25 - [개발] - 파이썬 IP카메라 연동하기 OPENCV 사용(RTSP 정리)

 

파이썬 IP카메라 연동하기 OPENCV 사용(RTSP 정리)

파이썬과 opencv 라이브러리를 사용하여 IP카메라에 접속하는 방법에 대해 소개할려고 합니다. 이중 각 IP카메라 별 rtsp 프로토콜을 이용하여 쉽게 화면 송출을 하는 코드를 작성 해봅시다. 이 포

ekfkdlxm.tistory.com

 

import pytesseract
import cv2

cam=cv2.VideoCapture(rtsp://admin:admin123@192.168.29.30:554/cam/realmonitor?channel=1&subtype=1)

while True:
	
    _,img=cam.read()
    
    result = pytesseract.image_to_string(img, lang='kor')
    print(result)
    
    cv2.imshow("TEST",img)
    
    cv2.waitKey(1)

이런식으로요 웹캠도 같고 모든 이미지 파일은 이런식으로 파이썬을 통한 문자인식을 할 수 있습니다. 실시간 동영상으로 확인해보시면 사진보다는 굉장히 낮은 인식률을 확인 하실 수 있을겁니다. 문자인식 숫자인식 인식률을 높이는 방법은 차차 포스팅 해나가도록 하겠습니다.

 

 


 

2. pytesseract 와 OCR

눈치 채셨겠지만 pytesseract.image_to_string(img, lang='kor')부분에서 lang부분에서 각자 원하는 문자를 선택 하여 인식 할 수 있습니다. 자세한 함수 사용법과 업데이트 사항은 해당 링크에서 확인 하실 수 있습니다. 여러가지 인자를 바꿔보고 다른 함수도 전부 한줄 또는 두줄이면 쉽게 할 수 있으니 하나씩 써보길 추천드립니다.

 

https://pypi.org/project/pytesseract/

 

pytesseract

Python-tesseract is a python wrapper for Google's Tesseract-OCR

pypi.org

좀더 나는 정확도가 높은 문자인식을 배워보고 싶다 또는 적용해보고 싶다고 하시면 해당 링크를 추천드립니다. clovaai 에서 제공하는 deep-text-recognition인데 이내용도 시간이 된다면 다뤄보도록 하겠습니다.

https://github.com/clovaai/deep-text-recognition-benchmark

 

GitHub - clovaai/deep-text-recognition-benchmark: Text recognition (optical character recognition) with deep learning methods.

Text recognition (optical character recognition) with deep learning methods. - GitHub - clovaai/deep-text-recognition-benchmark: Text recognition (optical character recognition) with deep learning ...

github.com

 

반응형

댓글