Python 은 바 이 두 API 를 기반 으로 그림 의 문 자 를 식별 하고 추출 합 니 다.
바 이 두 AI 오픈 플랫폼을 열 고 콘 솔 에 들 어 가 는 문자 인식 애플 리 케 이 션(바 이 두 계 정 이 필요 합 니 다).
애플 리 케 이 션 을 만 들 고 관리 애플 리 케 이 션 에 들 어가 AppID,API Key,Secrect Key 를 기록 하고 API 를 호출 합 니 다.
마지막 으로 python 의 바 이 두 ai 인 터 페 이 스 를 설치 한 라 이브 러 리
pip install baidu-aip
다음은 코드 구현 입 니 다.모든 식 별 된 그림 을 picture 라 는 폴 더 에 넣 어야 합 니 다.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Jun 12 09:37:38 2018
api
@author: XnCSD
"""
import glob
from os import path
import os
from aip import AipOcr
from PIL import Image
def convertimg(picfile, outdir):
''' ,
picfile:
outdir:
'''
img = Image.open(picfile)
width, height = img.size
while(width*height > 4000000): # k
width = width // 2
height = height // 2
new_img=img.resize((width, height),Image.BILINEAR)
new_img.save(path.join(outdir,os.path.basename(picfile)))
def baiduOCR(picfile, outfile):
""" api ,
picfile:
outfile:
"""
filename = path.basename(picfile)
APP_ID = '******' # ID,
API_KEY = '******'
SECRECT_KEY = '******'
client = AipOcr(APP_ID, API_KEY, SECRECT_KEY)
i = open(picfile, 'rb')
img = i.read()
print(" :\t" + filename)
message = client.basicGeneral(img) # , 50 000
#message = client.basicAccurate(img) # , 800
print(" !")
i.close();
with open(outfile, 'a+') as fo:
fo.writelines("+" * 60 + '
')
fo.writelines(" :\t" + filename + "
" * 2)
fo.writelines(" :
")
#
for text in message.get('words_result'):
fo.writelines(text.get('words') + '
')
fo.writelines('
'*2)
print(" !")
print()
if __name__ == "__main__":
outfile = 'export.txt'
outdir = 'tmp'
if path.exists(outfile):
os.remove(outfile)
if not path.exists(outdir):
os.mkdir(outdir)
print(" ...")
// , ,
for picfile in glob.glob("picture/*"):
convertimg(picfile, outdir)
print(" ...")
for picfile in glob.glob("tmp/*"):
baiduOCR(picfile, outfile)
os.remove(picfile)
print(' ! %s 。' % outfile)
os.removedirs(outdir)
파 이 썬 이 바 이 두 API 를 기반 으로 이미지 의 문 자 를 인식 하고 추출 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 파 이 썬 바 이 두 API 인식 이미지 문자 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 을 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.