前書き
OCRテキスト認識を行うための最新のPython_BaiduソースコードがGUIバージョンに更新されました
インストール
職員を見て、ピップが取り付けられていることを知りました。。長い間SDKを探していました
方法1ピップ
pip install baidu-aip
方法2sdk
python SDKをダウンロードしたら、解凍して、解凍したsetup.pyを実行します。
python setup.py install
アプリケーションを作成し、キーを取得します
Baidu Cloudを開き、実名認証に登録し
、コンソールに入り、テキスト認識をクリックして、
アプリケーションを作成し、作成したアプリケーションにID +キーをコピーします。
認識し始める
認識されるテキスト
基本バージョンV0.0.0
# 利用百度OCR在线识别图片文本
from aip import AipOcr
""" 读取图片 """
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
if __name__ == "__main__":
""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
image = get_file_content('tmp.PNG')
""" 调用通用文字识别, 图片参数为本地图片 """
res = client.basicGeneral(image);
print( res)
Image、Baiduの条件:画像データ、base64エンコーディング、base64エンコーディングは4M以下、少なくとも15pxの最短辺、最大の最長辺4096px、サポートjpg / png / bmp形式
basicGeneral()形式の解釈を返します
爱之初体验
返される結果が少し乱雑であることがわかります。。
基本的な最小バージョンV0.0.0.1
上に返されたデータはまだ整理されていません。整理して下で修復しましょう
# 利用百度OCR在线识别图片文本
from aip import AipOcr
""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'
""" 待识别图片的路径 """
filepath = 'tmp.PNG'
""" 读取图片的编码 """
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
""" 将所有的文字都合并到一起 """
def get_text_concat(resdict):
strx=""
for tex in resdict["words_result"]:
strx+=tex["words"]
return(strx)
if __name__ == "__main__":
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
image = get_file_content(filepath)
""" 调用通用文字识别, 图片参数为本地图片 """
res = client.basicGeneral(image);
text = get_text_concat(res)
print( text)
基本拡張バージョンV0.0.1
ファイルの保存、例外処理をサポート
# 利用百度OCR在线识别图片文本
from aip import AipOcr
""" 你的 APPID AK SK """
APP_ID = ''
API_KEY = ''
SECRET_KEY = ''
""" 待识别图片的路径 """
filepath = 'tmp.PNG'
# 是否保存结果到文件中,True为保存,False为不保存,直接输出
isFileSave = True
# 若保存,保存路径为
saveFilePath = 'OcrText.txt'
# 是否保留上次文件中的内容,True为保存之前的内容,并在之后添加本次内容
# False为删除上次的内容,只保留本次识别结果
isLastSave = True
""" 读取图片的编码 """
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
""" 将所有的文字都合并到一起 """
def get_text_concat(resdict):
strx=""
for tex in resdict["words_result"]:
strx+=tex["words"]
return(strx)
""" 将数据data保存到filePath中 """
def save_text(filePath, data, isLastSave = True):
if(isLastSave):
with open(filePath, 'a', encoding='utf-8') as f:
f.write('\n'+ data)
else:
with open(filePath, 'w', encoding='utf-8') as f:
f.write(data)
if __name__ == "__main__":
print("OCR识别开始")
""" 调用通用文字识别, 图片参数为本地图片 """
try:
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
image = get_file_content(filepath)
res = client.basicGeneral(image)
text = get_text_concat(res)
if(isFileSave):
save_text(saveFilePath, text, isLastSave)
print("识别文字已保存到文件中")
else:
print( text)
print("OCR识别成功,程序结束")
except Exception as e:
print("OCR识别失败!!!程序非正常结束\n详情:",e)
写真のドラッグをサポートします。
複数の写真を継続的に処理しますか??