파 이 썬 을 이용 하여 그림 속 의 문 자 를 어떻게 식별 하 는 지 상세 하 게 설명 합 니 다.

1.Tesseract
문자 인식 은 ORC 의 일부 내용 이 고 ORC 는 광학 문자 인식 을 뜻 하 며 쉽게 말 하면 문자 인식 이다.Tesseract 는 문자 인식 에 사용 되 는 도구 로 Python 과 결합 하여 사용 하면 문자 인식 을 신속하게 실현 할 수 있 습 니 다.하지만 그 전에 우 리 는 번 거 로 운 일 을 완성 해 야 한다.
(1)Tesseract 의 설치 및 설정
Tesseract 의 설 치 는 이 사이트https://digi.bib.uni-mannheim.de/tesseract/로 이동 할 수 있 습 니 다.우 리 는 다음 과 같은 화면 을 볼 수 있 습 니 다.
在这里插入图片描述
많은 버 전 을 선택 할 수 있 고 여러분 은 자신의 수요 에 따라 선택 할 수 있 습 니 다.그 중에서 w32 는 32 비트 시스템 을 표시 하고 w64 는 64 비트 시스템 을 표시 합 니 다.여러분 은 적당 한 버 전 을 선택 하면 됩 니 다.다운로드 속도 가 느 릴 수 있 습 니 다.설치 할 때 저희 가 설치 한 위 치 를 알 아야 합 니 다.설치 디 렉 터 리 를 시스템 path 변수 에 설정 합 니 다.저희 경 로 는D:\CodeField\Tesseract-OCR입 니 다.
在这里插入图片描述
우 리 는 / -> -> -> ->Path-> -> 그리고 우리 의 경 로 를 복사 하면 된다.시스템 변 수 를 추가 한 후에 우 리 는 순서대로 확인 해 야 설정 이 된 셈 이다.
(2)언어 팩 다운로드
Tesseract 는 기본적으로 중국 어 를 지원 하지 않 습 니 다.만약 에 중국어 나 다른 언어 를 식별 하려 면 해당 하 는 언어 팩 을 다운로드 해 야 합 니 다.다운로드 주 소 는 다음 과 같 습 니 다.https://tesseract-ocr.github.io/tessdoc/Data-Files사이트 에 들 어간 후에 우 리 는 아래로 넘 깁 니 다.
在这里插入图片描述
그 중에서 두 개의 중국어 언어 팩 이 있 는데 하 나 는 Chinese-Simplified 와 Chinese-Traditional 입 니 다.각각 간 체 중국어 와 번 체 중국어 입 니 다.우 리 는 필요 한 다운 로드 를 선택 하면 됩 니 다.다운로드 가 완료 되면 Tesseract 의 경로 에 있 는 tessdata 디 렉 터 리 에 넣 어야 합 니 다.우리 의 경 로 는D:\CodeField\Tesseract-OCR\tessdata입 니 다.
(3)기타 모듈 다운로드
위의 절 차 를 제외 하고 우 리 는 두 개의 모듈 을 다운로드 해 야 한다.

pip install pytesseract
pip install pillow
첫 번 째 는 문자 인식 에 사용 되 고 두 번 째 는 그림 읽 기 에 사용 된다.이제 우 리 는 문자 인식 을 할 수 있다.
문자 인식
(1)한 장의 이미지 인식
다음 작업 은 훨씬 간단 해 야 한다.다음은 우리 가 식별 해 야 할 그림 이다.
在这里插入图片描述
다음은 우리 문자 인식 코드 입 니 다.

import pytesseract
from PIL import Image
#     
im = Image.open('sentence.jpg')
#     
string = pytesseract.image_to_string(im)
print(string)
식별 결 과 는 다음 과 같다.
Do not go gentle into that good night!
기본 값 은 영 어 를 지원 하기 때문에 우 리 는 직접 식별 할 수 있 지만 중국어 나 다른 언어 를 식별 하려 면 수정 이 필요 합 니 다.

import pytesseract
from PIL import Image
#     
im = Image.open('sentence.png')
#     ,     
string = pytesseract.image_to_string(im, lang='chi_sim')
print(string)
식별 할 때,우 리 는lang='chi_sim',즉 언어 를 간 체 중국어 로 설정 합 니 다.tessdata 디 렉 터 리 에 간 체 중국어 패키지 가 있어 야만 이 설정 이 유효 합 니 다.다음은 우리 가 식별 하 는 그림 이다.
在这里插入图片描述
식별 결 과 는 다음 과 같다.
온순 하 게 그 좋 은 밤 에 들 어가 지 마라.
사진 의 내용 이 정확하게 식별 되 었 다.우리 가 언어 를 간 체 중국어 나 다른 언어 로 설정 한 후에 도 Tesseract 는 영어 문 자 를 식별 할 수 있다 는 것 을 알 아야 한다.
(2)대량 이미지 인식
우리 가 한 장의 그림 인식 을 열거 한 이상 대량의 그림 인식 기능 이 있 을 것 이다.그러면 우 리 는 txt 파일 을 준비 해 야 한다.예 를 들 어 나 는 파일 이 있다.text.txt내용 은 다음 과 같다.

sentence1.jpg
sentence2.jpg
우 리 는 코드 를 다음 과 같이 수정 합 니 다.

import pytesseract
#     
string = pytesseract.image_to_string('text.txt', lang='chi_sim')
print(string)
그러나 이렇게 스스로 txt 파일 을 쓰 는 것 은 좀 번 거 로 울 수 있 기 때문에 우 리 는 다음 과 같이 수정 할 수 있다.

import os
import pytesseract
#        
path = 'text_img/'
#         
imgs = [path + i for i in os.listdir(path)]
#     
f = open('text.txt', 'w+', encoding='utf-8')
#           text.txt    
for img in imgs:
    f.write(img + '
') # f.close() # string = pytesseract.image_to_string('text.txt', lang='chi_sim') print(string)
이렇게 하면 우 리 는 텍스트 그림 의 루트 디 렉 터 리 만 들 어가 면 대량으로 식별 할 수 있다.테스트 과정 에서 Tesseract 는 필기체,행서 등 찰 랑 거 리 는 글씨체 에 대한 식별 이 정확 하지 않 고 복잡 한 글자 에 대한 식별 도 향상 되 어야 한 다 는 것 을 발견 했다.그러나 송 체,인쇄체 등 필획 이 빈 틈 없 는 서체 인식 정확도 가 높다.또한 그림 의 경사 가 일정한 각도 보다 크 면 식별 결과 도 큰 차이 가 있 을 수 있다.
파 이 썬 식별 이미지 의 문 자 를 어떻게 활용 하 는 지 에 대한 자세 한 설명 은 여기까지 입 니 다.파 이 썬 식별 이미지 의 문자 내용 에 대해 서 는 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기