python 은 Tesseract 를 이용 하여 인증 코드 를 식별 하 는 방법 예시
tesserocr
과 pytesseract
에 대해 이야기 하 자.tesserocr
과 pytesseract
은 Python 의 OCR 식별 라 이브 러 리 이지 만 사실은 tesseract
에 대한 Python API 패키지 이 고 pytesseract
은 Google 의 Tesseract-OCR
엔진 패키지 입 니 다.그래서 그들의 핵심 은 tesseract
이 므 로 tesserocr
을 설치 하기 전에 우 리 는 먼저 tesseract
을 설치 해 야 한다.다운로드 설치
다운로드 주소:https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v4.0.0.20181030.exe
다운로드 가 완 료 된 후 더 블 클릭 으로 설치 하면
Additional language data(download)
옵션 을 선택 하여 OCR 인식 이 지원 하 는 언어 팩 을 설치 할 수 있 습 니 다.그러나 언어 팩 을 다운로드 하 는 것 이 너무 느 립 니 다.우 리 는 https://github.com/tesseract-ocr/tessdata/ 에서 zip 의 언어 팩 압축 파일 을 직접 다운로드 하고 압축 을 푼 후에 tessdata-master
의 파일 을 Tesseract
의 설치 디 렉 터 리 C:\Program Files (x86)\Tesseract-OCR\tessdata
디 렉 터 리 로 복사 할 수 있 습 니 다.마지막 으로 환경 변 수 를 설정 합 니 다.우 리 는 C:\Program Files (x86)\Tesseract-OCR
을 환경 변수 에 추가 할 것 이다.명령 프롬프트 에 들 어가 tesseract
을 입력 하여 다음 그림 결 과 를 표시 하고 설정 이 완료 되 었 음 을 설명 합 니 다.설 치 된 언어 팩 보기:
tesseract --list-langs
영어 나 다른 문자 가 들 어 있 는 167 가지 언어 패 키 지 를 설치 한 것 을 보 여 줍 니 다.
테스트
실험 용 QR 코드
기본 사용 문법
tesseract image.png result
(tesseract 그림 이름 생 성 파일 이름)결실
결 과 를 보면 P,2,X 가 식별 되 었 으 나 C 를 G 로 식별 하여 식별 도가 비교적 높 았 고 다음은 python 에서 의 사용 을 보 았 다.
python tesseract 도입
python 에서 pip 명령 을 사용 하면 다운로드 설치 완료
pip install pytesseract
식별 인증번호 스 크 립 트
import pytesseract
from PIL import Image
im=Image.open('pin.png')
print(pytesseract.image_to_string(im))
결실이렇게 식별 한 결과 역시 윗글 과 마찬가지 로 개별 문자 인식 이 정확 하지 않다.
영상 처리
현재 사이트 의 QR 코드 디자인 은 일반적으로 복잡 하기 어렵 고 직접 식별 하면 식별 하기 어렵다.아래 의 이 코드 는 그 레이스 케 일 처리 와 이치 화 이다.
import pytesseract
from PIL import Image
im=Image.open('5.jpg')
#
im=im.convert('L')
#
threshold=150
table=[]
for i in range(256):
if i<threshold:
table.append(0)
else:
table.append(1)
# ,1 ,0
im=im.point(table,"1")
im.show()
print(pytesseract.image_to_string(im))
원 도재 와 이치 화 후
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.