python 이미지 인식 및 문자 추출 방법
python 이미지 인식 은 일반적으로 tesseract 를 바탕 으로 파충류 에서 인증 코드 를 처리 하여 광범 위 하 게 사용 합 니 다.
설치 하 다.
설치 튜 토리 얼 네트워크 는 대부분 차이 가 많 지 않 습 니 다.윈도 우 는 확실히 번 거 롭 고 각종 경로,환경 변수,심지어 Liux 와 다른 경로 구분자 와 관련 되 기 때문에 이곳 의 설 치 는 Centos 7 을 바탕 으로 합 니 다.
1.설치 의존
yum install -y automake autoconf libtool gcc gcc-c++
2.leptonica 설치Leptonica 는 주로 이미지 처리 와 이미지 분석 에 사 용 됩 니 다.
원칙적으로 모든 라 이브 러 리 파일 은 yum 으로 직접 설치 할 수 있 으 며,구체 적 인 버 전 을 원한 다 면 공식 소스 에 가서 해당 버 전 을 다운로드 한 후 대응 하 는 방식 으로 컴 파일 할 수 있다.
wget http://www.leptonica.org/source/leptonica-1.74.4.tar.gz
tar -zxvf leptonica-1.74.4.tar.gz
cd leptonica-1.74.4/
./configure
make && make install
3.tesseract 설치다른 각 버 전 은 이곳 에서 다운로드 하고 자체 컴 파일 할 수 있 으 며 직접 사용 하 는 파일 도 제공 합 니 다.
yum install tesseract
4.설치 검증
tesseract --version
5.언어 팩 다운로드tesseract-ocr/tessdata해당 언어 팩 을 다운로드 한 후 tessdata 디 렉 터 리 로 이동 하면 whereis tesseract 로 구체 적 인 디 렉 터 리 를 볼 수 있 습 니 다.저 는/usr/share/tesseract/tessdata/mv*.traineddata/usr/local/share/tessdata/
6.현재 다운로드 한 언어 보기
tesseract --list-langs
쓰다
# tesseract
Usage:
tesseract --help | --help-psm | --help-oem | --version
tesseract --list-langs [--tessdata-dir PATH]
tesseract --print-parameters [options...] [configfile...]
tesseract imagename|stdin outputbase|stdout [options...] [configfile...]
OCR options:
--tessdata-dir PATH Specify the location of tessdata path.
--user-words PATH Specify the location of user words file.
--user-patterns PATH Specify the location of user patterns file.
-l LANG[+LANG] Specify language(s) used for OCR.
-c VAR=VALUE Set value for config variables.
Multiple -c arguments are allowed.
--psm NUM Specify page segmentation mode.
--oem NUM Specify OCR Engine mode.
NOTE: These options must occur before any configfile.
문법
tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...]
이미지 이름0:방향 지정 스 크 립 트 모니터링(OSD)
1:OSD 자동 페이지 나 누 기 사용
2:자동 으로 페이지 를 나 누 지만 OSD 나 OCR(Optical Character Recognition,광학 문자 인식)을 사용 하지 않 습 니 다.
3:자동 으로 페이지 를 나 누 지만 OSD 를 사용 하지 않 았 습 니 다(기본 값)
4:가 변 크기 의 텍스트 열 을 가정 합 니 다.
5:텍스트 의 단일 블록 을 수직 으로 정렬 한다 고 가정 합 니 다.
6:통 일 된 텍스트 블록 을 가정 합 니 다.
7:그림 을 하나의 텍스트 줄 로 봅 니 다.
8:그림 을 하나의 단어 로 봅 니 다.
9:그림 을 원 의 단일 단어 로 봅 니 다.
10:그림 을 단일 문자 로 봅 니 다.
python 에서 사용
Tesseract 설치 가 완료 되면 Python 에서 편리 하 게 호출 될 수 있 지만 pillow 와 pytesseract 의 지원 이 필요 합 니 다.
python 에서 변환
image_to_data(image, lang=None, config='', nice=0, output_type=Output.STRING)
프로 세 스:그림 을 열 고 설정 하고 변환 할 수 있 습 니 다.Image 의 open 또는 cv2 의 imread 를 통 해 그림 을 열 수 있 습 니 다.그 다음 에 그림 에 대해 대비 도 를 높이 고 소음 을 낮 추 는 등 처리 하면 효과 가 좋 습 니 다.
from PIL import Image
import pytesseract
class Languages:
CHS = 'chi_sim'
ENG = 'eng'
def img_to_str(image_path, lang=Languages.ENG):
return pytesseract.image_to_string(Image.open(image_path), lang)
print(img_to_str('pic/numu.png', lang=Languages.ENG))
print(img_to_str('pic/pro.png', lang=Languages.ENG))
총결산
간단 한 텍스트 인식 효 과 는 좋 지만 여러 줄,기호 등 을 디자인 하면 식별 효과 가 좋 지 않다.정확 도 는 문자 창고 에 대한 훈련 을 통 해 원 하 는 효 과 를 얻 을 수 있다.그 후에 얻 은 텍스트 에 대해 re 등 각종 라 이브 러 리 를 이용 하여 조작 할 수 있 는데 사실은 응용 이 매우 광범 위 하 다.2.그러나 인증 코드 에 있어 서 는 효과 가 좋 습 니 다.인증 코드 는 tesserocr 도 비교 적 입 니 다.
중국 어 를 식별 하 는 데 인 코딩 오류 가 발생 할 수 있 습 니 다.이것 도 식별 상의 구멍 중 하나 입 니 다.인터넷 에서 큰 사람들 이 말 하 는 텍스트 를 바 꾸 는 인 코딩 은 문 제 를 해결 하지 못 할 것 같 기 때문에 긴 텍스트 이미지 처리 에 대해 직접 전환 하 는 것 을 권장 하지 않 습 니 다.
그림 과 글 처리 도 각 플랫폼 의 API 를 참고 할 수 있 고 바 이 두,텐 센트,미 단 이 모두 지원 합 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.