目录
- 专栏导读
- 背景
- 1、登录腾讯云+点击【通用文字识别】
-
- 网址:[https://console.cloud.tencent.com/](https://console.cloud.tencent.com/)
- 2、点击-【访问管理】
- 3、代码测试
- 结尾
专栏导读
-
欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手
-
️ 博客主页:请点击——> 一晌小贪欢的博客主页求关注
-
该系列文章专栏:请点击——>Python办公自动化专栏求订阅
-
文章作者技术和水平有限,如果文中出现错误,希望大家能指正
-
❤️ 欢迎各位佬关注! ❤️
背景
-
由于我是一名抄电表的工作人员,我每天会拍下许多照片,然后回家一张一张把每家每户的用电情况的填写在表格上,但是手抄非常的麻烦且耗时多,我就想利用腾讯云的OCR功能实现自动识别用户的用电
1、登录腾讯云+点击【通用文字识别】
网址:https://console.cloud.tencent.com/
2、点击-【访问管理】
3、代码测试
-
第一步,先安装SDK
-
pip install tencentcloud-sdk-python
-
第二步,我先准备几张图片
-
第三步,准备自己的SecretId、SecretKey
cred = credential.Credential("这里填SecretId", "这里填SecretKey")
import os
import re
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.ocr.v20181119 import ocr_client, models
import base64
import json
import jsonpath
import openpyxl
def get_json(image_url):
try:
cred = credential.Credential("自己的SecretId", "自己的SecretKey")
httpProfile = HttpProfile()
httpProfile.endpoint = "ocr.tencentcloudapi.com"
clientProfile = ClientProfile()
clientProfile.httpProfile = httpProfile
client = ocr_client.OcrClient(cred, "ap-shanghai", clientProfile)
req = models.GeneralBasicOCRRequest()
with open(image_url, 'rb') as f:
base64_data = base64.b64encode(f.read())
s = base64_data.decode()
ImageBase64_value = 'data:image/jpeg;base64,%s'%s
params = '{"ImageBase64":"' + ImageBase64_value + '"}'
req.from_json_string(params)
resp = client.GeneralBasicOCR(req)
resp = resp.to_json_string()
return resp
except TencentCloudSDKException as err:
print(err)
def parse_json(resp,im):
with open('text.txt','w',encoding='utf-8') as f:
f.write(resp)
with open('text.txt','r',encoding='utf-8') as f:
str = f.read()
str = json.loads(str)
DetectedText = jsonpath.jsonpath(str, "$..DetectedText")
data = "-".join(DetectedText)
res = re.findall(r'-?\d+', data)
print("文件名:",im)
print("提取结果:",res)
ws.append([im]+res)
if __name__ == '__main__':
wb = openpyxl.Workbook()
ws = wb.active
ws.append(["文件名","写入结果"])
for im in os.listdir("./图片存放/"):
resp = get_json("./图片存放/"+im)
data = parse_json(resp,im)
wb.save("./结果.xlsx")
结尾
希望对大家有帮助
致力于办公自动化的小小程序员一枚
都看到这了,关注+点赞+收藏=不迷路!!
如果你想知道更多关于Python办公自动化的知识各位佬给个关注吧!