在数学建模中会遇到对图片中的文字进行识别提取,保存到excel中,以下进行操作:

1、在腾讯云中开通业务,每个月有免费额度,虽然识别也会不准,但还算亲民,具体操作可参考官方文档文字识别 一分钟接入服务端 API-快速入门-文档中心-腾讯云

2、代码接入腾讯云API,进行图片识别

3、将识别后的文字进行保存。

在识别后的结果千奇百怪,有元素个数不统一,有识别错误等情况如下图:

为了实现不同信息的正确提取,使用了.join()元素合并,以解决识别后元素个数不统一的情况。.split()以标志点分割文字,以解决识别出现错误的情况(在这里使用识别率最高的“#”作为标志)具体过程在代码中的备注均有说明,请大家放心食用。缺少库可自行下载。

import os
import pandas as pd
#以下代码是将【本地图片】进行文字识别
# Ningmou#接入腾讯云文字识别(高精度版)作为端口接入
#pip install tencentcloud-sdk-python
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
def get_json(img_path) :try:cred = credential.Credential("", "") #输入密钥httpProfile = HttpProfile()httpProfile.endpoint = "ocr.tencentcloudapi.com"clientProfile = ClientProfile()clientProfile.httpProfile = httpProfileclient = ocr_client.OcrClient(cred, "", clientProfile) #服务器地址req = models.GeneralAccurateOCRRequest()#对本地图片进行base64转码【本地图片解析需要先转成base64编码】with open(img_path, 'rb') as f:base64_data = base64.b64encode(f.read())s = base64_data.decode()ImageBase64_value = 'data:image/jpeg;base64,%s'%s#params是字符串,以下进行拼接params = '{"ImageBase64":"' + ImageBase64_value + '"}' #以图片Base64编码发送请求req.from_json_string(params)resp = client.GeneralAccurateOCR(req)resp = resp.to_json_string()        #<class 'str'>不知道为何,此步无法完成数据提取,于是在下面又写了一个解析的方法return respexcept TencentCloudSDKException as err:print(err)def parse_json(resp):  #解析with open('text.txt','w',encoding='utf-8') as f:  #先写入txt中f.write(resp)with open('text.txt','r',encoding='utf-8') as f:  #然后再读str = f.read()str = json.loads(str)                              #json.loads:将JSON字符串解码为 Python 对象;json.dumps:将 Python 对象编码成 JSON 字符串DetectedText = jsonpath.jsonpath(str, "$..DetectedText")  #解析:通过找到DetectedText获得对应的值return DetectedText#print(len(DetectedText))#指明图片所在文件夹
images = r'E:\mycode\tupian'#遍历所有图片并识别文字,切片提取有效信息
data1 = [] #设置空列表,储存数据
str = '' #用于合并元素
for img_path in os.listdir(images):  #os用于连接系统上的文件
# DetectedText 是识别后得到的结果resp = "".join(get_json(f'{images}/{img_path}'))DetectedText1 = parse_json(resp)  #腾讯云识别的文字拆分成几个元素DetectedText = str.join(DetectedText1)  #将每个元素合并成一个元素shijian = DetectedText[0:5]  #将每个元素的前5个字符提取作为时间wendu = DetectedText.split('#', 2)   #以元素中“#”作为标志切开,形成3个元素yisi = wendu[1][:-1]  #提取1#温度ersi = wendu[-1][-5:]  #提取2#温度data1.append([shijian, yisi, ersi])  #将提取的数据放入data1中# 输出结果print(wendu)##保存数据#新建文件夹保存
df = pd.DataFrame(data1)
print(f"识别结果如下:")
print(df)
df.to_excel("附件2.xlsx", index=False)

接入腾讯云识别图片中的文字并保存(数学建模)相关推荐

  1. 使用百度云识别图片中的文字(二):获取图片中的文字

    使用百度云识别图片中的文字(二):获取图片中的文字 上一篇文章中提到怎样获取access_token.此篇文章就是通过access_token来识别图片中的文字. 先来看看:官方的介绍吧: 本文档主要 ...

  2. python调用qq识别图片文字_Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解...

    百度OCR体验地址: 腾讯OCR体验地址: 测试结果是:腾讯的效果要比百度的好 腾讯云目前额度是: 每个接口 1,000次/月免费,有6个文字识别的接口,一共是6,000次/月 百度接口调用之前写过文 ...

  3. Android 快速接入腾讯云人脸核身(识别)

    Android 通过 SDK 快速接入腾讯云人脸核身 我的接入代码:https://blog.csdn.net/qq_39836064/article/details/108702725,很久之前写的 ...

  4. python使用百度云的API识别图片中的文字

    python使用百度云的API识别图片中的文字 # coding=utf-8import sys import json import base64IS_PY3 = sys.version_info. ...

  5. 识别图片文字怎么弄?我来教大家怎么识别图片中的文字

    有时,我们需要从图片中提取文本以进行编辑或搜索.虽然手动转录是一种选项,但这是费时费力的工作,而且容易出错.为了解决这个问题,出现了各种各样的技术和工具,可以帮助我们自动识别图片中的文字.在本文中,我 ...

  6. Esp32快速接入腾讯云之智能冷空调扇实例

    目录 1. 前言 2. 硬件准备及改装 2.1 硬件准备 2.2 硬件改装 2.3 外挂电源 3. 在腾讯云平台上创建产品 3.1 登录腾讯云 3.2 新建项目 ​3.3 新建产品 3.4 新建设备 ...

  7. python怎么识别图片里面的文字并合成语音_几行代码搞定识别图片中的文字信息,同时转换成语音...

    image前几天想把一篇不错的文章保存下来,无奈是图片的,于是想利用python把图片中的文字识别出来 实现的方式还是挺多的,这里介绍下百度的AI开放平台,毕竟大公司,感觉识别的精度会高点,同时相信他 ...

  8. 微信小程序原生接入腾讯云im(单聊,列表,聊天界面,自定义消息,自动回复)

    微信小程序原生接入腾讯云im(单聊,列表,聊天界面,自定义消息,自动回复) 发送图片语音消息传送→ 文章目录 1.项目需求 2.参考文档 3.效果图 4.初始化 集成SDK 5.登录 6.会话列表 7 ...

  9. 手写体识别代码_Python识别图片中的文字

    一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...

最新文章

  1. JAVA实现判断树的子结构及树的镜像问题(《剑指offer》)
  2. python web shell
  3. [译]ASP.NET Core 2.0 机密配置项
  4. mysql停止主从_不停止mysql服务配置主从
  5. 20170904_C基础
  6. 为什么D触发器需要建立时间与保持时间
  7. mysql note级别_Mysql5.7 的错误日志中最常见的note级别日志解释
  8. 没有在该机执行windows脚本宿主的权限_解决办法
  9. 【狂神MySQL笔记】初识Mysql
  10. [Java]面向对象编程
  11. 雨林木风SP3YN9.9 装机版09年09月更新(终结版)
  12. 欧拉计划26--Reciprocal cycles
  13. 微信接口类php,【微信接口库】分享10个常用的php微信接口类
  14. promise.then链式调用顺序
  15. android安全风险分析,Android安全检测报告,等保测评过不了,提示风险
  16. solidworks2014可否保存成以前版本?--问题解决
  17. web图片铺满网页_CSS实现网页背景图片自适应全屏
  18. 关于 input在 chrome 、IE浏览器中遇到的兼容性问题处理
  19. 撼龙图怎么开鸿蒙炁灵,【一人之下】新手入门必看攻略,萌新技巧超详细攻略...
  20. 一个项目中不能同时出现两个main函数

热门文章

  1. 《时代三部曲》感悟二
  2. 使用sqoop将数据从hdfs中导入mysql时,卡在INFO mapreduce.Job: map 100% reduce 0%的解决办法
  3. SEO优化服务三个小技巧 让排名更稳定
  4. 通过编程模式起底小程序开发技术特点
  5. 21 PCB快捷键的设置及推荐
  6. 在Hive上实现SCD
  7. 墨者学院 - Bash漏洞分析溯源
  8. 20201227一周学习总结(CNN)
  9. Hive学习(一)窗口函数源码阅读
  10. 不可能 是 不可能的事