Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >腾讯云智能结构化OCR实战:从图片到结构化数据的高效转换

腾讯云智能结构化OCR实战:从图片到结构化数据的高效转换

原创
作者头像
编程挺好玩
修改于 2024-12-16 12:41:45
修改于 2024-12-16 12:41:45
63800
代码可运行
举报
文章被收录于专栏:编程挺好玩编程挺好玩
运行总次数:0
代码可运行

最近一段时间我在做一个需求,因为我关注了好几个理财子的公众号,他们偶尔会发一些当前在售的理财产品的清单文章,然后我就想能不能把他们的清单文章里的理财产品的数据以及亮点给汇总起来。

然后我尝试了一些多模态的大模型,正常来说效果是够的,但是有时候碰到一些很长很长的图片就会识别不准。同时token的费用也会较多。因此,当我偶然了解到腾讯云的智能结构化OCR服务时,决定一试其能否提供更好的解决方案。

这篇文章的目的也就是带大家来体验一下 腾讯云智能结构化识别 的,有彦祖可能会问了,这个智能结构化识别和普通的ocr识别有啥区别。官方是这么介绍的:

腾讯云智能结构化OCR产品提供基础与高级版本选项,具备全面的行业覆盖能力,能精确识别包括卡证、物流单据、工业标签、服务合同及医疗报告在内的多种文件;即便在版式多变或中英文混排的情形下,仍可维持高识别精度。借助多模态大模型技术构建键值对应关系,支持客户个性化模板定制,提升数据提取录入效率,适用于政务处理、票据核销、行业表单填写、国际物流管理、人寿保险理赔、AI在线问诊、律师事务所合同审查及供应链合同审核等多种应用场景。

字面意义上来说可以理解为普通ocr加上多模态模型,模型把ocr识别的结果进行了结构化的处理。可能是这样吧,咱先试一试~

我这边选择用腾讯云的python sdk来测试,sdk的地址是这个:https://github.com/TencentCloud/tencentcloud-sdk-python/blob/master/tencentcloud/ocr/v20181119/ocr_client.py

官方说支持的python环境是2.7,3.6~3.9,所以我就直接用py3.9开了一个虚拟环境。

价格

目前看来,腾讯云似乎正在举办活动,每月提供一个包含1000次识别的资源包,不过不清楚这一优惠会持续多长时间(在这里感谢一下腾讯云,我的cos目前每个月还有很多的免费资源包~)。根据资费介绍文档,智能结构化识别服务的标准收费为400元/1000次。这样的定价在市场中颇具竞争力,对于需要频繁使用OCR服务的用户来说,成本相对可控。不过,具体费用是否划算还需结合个人或企业的实际需求和使用频率来考量。

安装sdk

安装sdk很快,啪一下就行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install -i https://mirrors.tencent.com/pypi/simple/ --upgrade tencentcloud-sdk-python

代码

先去腾讯云控制台,右上角的访问管理,添加一个子用户,授权选择 QcloudOCRFullAccess,然后新增api密钥(妥善保管SecretId和SecretKey)

然后看看这个文档,看起来接口支持传入图片的url或者base64的地址,不过很好奇这个 PdfPageNumber 参数,看起来接口并没有支持上传pdf文件,也不知道这个有啥用。(咱也不管,目前需求只是识别图片就行)

OK,接口参数知道了,代码很快就出来了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from tencentcloud.ocr.v20181119 import ocr_client, models
from tencentcloud.common import credential
import os
import json
import base64


#  base 64 编码格式
def encode_image(image_path):
    with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode("utf-8")
  
  
def parse_ocr_result(json_data):
    # 解析 JSON 数据
    data = json.loads(json_data)
    # 初始化文本块
    text_block = []
  
    # 添加角度信息
    text_block.append(f"角度: {data['Angle']}")
  
    # 遍历结构列表
    for structural in data['StructuralList']:
        for group in structural['Groups']:
            for line in group['Lines']:
                key = line['Key']['AutoName']
                value = line['Value']['AutoContent']
                text_block.append(f"{key}: {value}")
  
    full_text = ""
    for WordList in data['WordList']:
        full_text += WordList['DetectedText']
  
    text_block.append(full_text)
    # 返回文本块
    return "\n".join(text_block)


def ocr(image_base64):
    cred = credential.Credential(
        "YourSecretId",
        "YourSecretKey")
    ocr = ocr_client.OcrClient(
        credential=cred,
        region="ap-guangzhou",
    )
    req = models.SmartStructuralProRequest()
    req.ImageBase64 = image_base64
    # req.ReturnFullText = True  # 额外的参数都在这里修改
    res = ocr.SmartStructuralPro(req)
    return parse_ocr_result(res.to_json_string(ensure_ascii=False, indent=4))


if __name__ == "__main__":
    base64_image = encode_image("Snipaste_2024-12-16_19-56-16.png")
    print(ocr(base64_image))

验证

以这个图为例(进行了必要的打码处理)

第一次识别,没有传其他参数,只是传了图片的base64,看看返回结果~

挺好,返回的数据相较于传统的ocr来说,自动把数据给结构化了,美中不足的是日日变成了 88,然后一般来说管号码叫代码才对~

WordList 没有数据是因为默认是没有开启全文字段的识别。

这次我们开启ReturnFullText等于True

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
req.ReturnFullText = True

这次全文有了,不过奇怪的是,全文识别出了正确的产品名称,可是上面的结构化数据还是错误的,这点不应该啊,有待改进~

OK,到这里ocr识别的代码已经跑通,我们来部署一个简单的web服务。

web部署

这里我们选择使用python的fastapi来部署web服务。

首先安装,这个很简单,还是啪一下就好

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install fastapi uvicorn python-multipart -i https://mirrors.cloud.tencent.com/pypi/simple/
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# app.py
import base64
from fastapi import FastAPI, UploadFile, File
from ocr import ocr
app = FastAPI()


@app.post("/ocr")
async def perform_ocr(image: UploadFile = File(...)):
    image_bytes = await image.read()  # 读取图像文件
    image_base64 = base64.b64encode(image_bytes).decode("utf-8")  # 转换为 base64
    response = ocr(image_base64)
    return {
        "code": 200,
        "data": response
    }

启动命令:uvicorn main:app --reload,postman验证一下,work~

到这里我们简单的体验了腾讯云智能结构化识别,整体用起来简单,相对于传统的ocr,多了一层结构化数据的处理。

到这里本篇已经完结,也欢迎大家在评论区留言,分享你对ocr应用的一些经验和看法~

(同名公众号:编程挺好玩)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
🔍 腾讯云OCR为何物?又是如何助力各行业实现“结构化”升级?
在这个数字化和信息化高速发展的时代,各行各业都在寻求更高效的方式来管理数据。尤其是在文件处理领域,传统的人工方式已经无法满足快速、精确的需求。你有没有想过,电子票据、复杂的发票单据、跨境物流单证,甚至是各种行业的繁琐纸质材料,能不能像数字文本一样,精准读取、提取、分析?答案是:可以!这正是腾讯云智能结构化OCR技术的魅力所在。
bug菌
2024/12/17
3680
🔍 腾讯云OCR为何物?又是如何助力各行业实现“结构化”升级?
玩转OCR | 腾讯云智能结构化识别初体验
上传了一个自己手写的图片,识别准确率很高,没识别出来的那就是自己写的不规范哈,但发现段落换行不是很准确。
度假的小鱼
2025/01/08
2700
玩转OCR | 腾讯云智能结构化识别初体验
智能驱动未来:腾讯云智能结构化OCR赋能交通、物流、金融与零售行业实践
在我们探讨技术如何改变世界的漫长旅程中,OCR(光学字符识别)技术仿佛是一颗闪亮的星星,默默地为各行业提供精准、高效的解决方案。在上一期内容中,我们一起走过了OCR技术的原理与基础应用,见证了它如何将静态的文档转化为数字化数据流,让信息的流动更快、更便捷。
喵手
2024/12/17
2090
玩转OCR | 腾讯云智能结构化OCR全面指南
在数字化转型的浪潮中,光学字符识别(OCR)技术已成为企业提高效率、降低成本的关键工具。腾讯云智能结构化OCR凭借其先进的技术和广泛的应用场景,正在推动跨行业高效精准的文档处理与数据提取新时代。本文将全面介绍腾讯云智能结构化OCR的功能、技术优势、应用实践以及行业案例,帮助您深入了解并有效运用这一强大的工具。
Damon小智
2024/12/24
9601
玩转OCR | 腾讯云智能结构化OCR全面指南
玩转OCR | 探索腾讯云智能结构化识别新境界
通过运用先进的多模态大模型技术,腾讯云OCR能够智能建立键值对应关系,并允许客户根据自身需求定制个性化模板,从而显著提高数据抓取与录入的效率。 这一解决方案广泛适用于政务事务处理、票据核销流程、行业表单自动化填写等多个业务场景。
Eternity._
2024/12/20
2280
玩转OCR | 探索腾讯云智能结构化识别新境界
探索腾讯云智能结构化OCR:技术解析与实践指南
在上述情境中,我们仅对腾讯云智能结构化OCR这一技术进行了简要提及。凭借其卓越的高精度、出色的灵活性和极佳的易用性,腾讯云智能结构化OCR正开启跨行业高效且精准的文档处理及数据提取的新篇章。腾讯云智能结构化OCR以多模态大模型技术为核心,融合了深度学习、图像检测技术及OCR大模型能力,通过智能建立键值对应关系,支持客户根据自身需求定制个性化模板,显著提高数据抓取与录入的效率。其基础版本为企业搭建了通用型文本识别的稳固框架,可精准识别常见的印刷体文字、数字及基本符号,满足一般性的数据提取需求。而高级版本则进一步融入了语义理解、上下文关联分析等高级功能模块,能够应对诸如法律合同、医学报告等专业性强、语义复杂且版式多变的文档识别任务,实现关键信息的深度挖掘与结构化输出。例如,在处理法律合同文档时,腾讯云智能结构化OCR能够快速提取合同双方、金额信息、时间节点等关键信息,大大提高了合同处理的效率和准确性。
VyrnSynx
2025/01/11
2550
腾讯云智能结构化OCR技术在油气行业财务数据处理中的应用
摘要:‌ 随着油气行业数字化转型的深入,财务数据的快速准确处理成为企业提升管理效率和决策质量的关键。本文将探讨腾讯云智能结构化OCR技术如何助力油气行业实现财务数据的自动化提取与分析,以某大型能源集团的核心财务数据为例,展示该技术在实际应用中的效果和价值。
用户6962301
2025/01/12
1300
【玩转OCR | 腾讯云智能结构化OCR应用探索和场景实践】
在数字化时代,光学字符识别(OCR)技术已成为企业提升效率、降低成本的关键工具。腾讯云智能结构化OCR凭借其高精度、灵活性和易用性,正在推动跨行业高效精准的文档处理与数据提取新时代。本文将全面介绍腾讯云智能结构化OCR的功能、技术优势、应用场景以及通过实际代码示例展示其应用实践,帮助读者深入了解并有效运用这一强大的工具。
中杯可乐多加冰
2024/12/31
3560
产品应用实践:腾讯云智能结构化OCR在物流行业的应用
在全球化市场环境下,物流行业面临复杂的文档处理需求,包括跨境物流单据、发票、货运单、海关报关单等。这些文档的处理需要大量人力,且手工操作容易出错。某大型跨境物流公司决定引入腾讯云智能结构化OCR技术,提升文档处理效率和准确性,解决传统方法的瓶颈。
Echo_Wish
2024/12/18
1180
产品应用实践:腾讯云智能结构化OCR在物流行业的应用
腾讯云智能结构化OCR在零售超市的应用:效率与准确率的双重提升
在当今数字化的时代,数据的价值日益凸显,而文档作为数据的重要载体,其处理和数据提取的效率与准确性成为了许多行业发展的关键因素。在这个背景下,光学字符识别(OCR)技术应运而生,它能够将纸质文档或图像中的文字转化为可编辑和可搜索的电子文本,极大地提高了文档处理的效率。腾讯云智能结构化OCR则是这一领域的佼佼者,为众多行业带来了前所未有的便利。
Yeats_Liao
2025/01/11
2330
腾讯云智能结构化OCR在零售超市的应用:效率与准确率的双重提升
玩转腾讯云智能结构化识别:OCR推动文档处理与数据提取进入新时代
在数字化时代,文档处理与数据提取已成为企业和个人日常工作中不可或缺的一部分。随着技术的不断进步,OCR(光学字符识别)技术已逐渐成为这一领域的关键支撑。OCR技术通过将图像中的文字转换为可编辑的文本,极大地提高了文档处理的效率和准确性。腾讯云智能结构化OCR作为这一领域的佼佼者,凭借其强大的功能和广泛的应用场景,正引领着文档处理与数据提取的新时代。
Front_Yue
2025/01/02
4271
玩转腾讯云智能结构化识别:OCR推动文档处理与数据提取进入新时代
【玩转OCR】 | 腾讯云智能结构化OCR在多场景的实际应用与体验
在数字化信息处理的时代,如何高效、精准地提取和结构化各类文档数据成为了企业和政府部门的重要需求。尤其是在面对海量票据、证件、表单和其他格式多样的文档时,人工录入和传统OCR技术常常面临识别精度低、处理效率差等问题。为了解决这些痛点,智能结构化光学字符识别(Smart OCR)应运而生。结合领先的深度学习技术和图像检测能力,智能结构化OCR能够高效地识别各类文本,并将其转化为结构化数据,广泛应用于政务、票据核销、行业表单、国际物流等领域。本篇文章我主要将介绍该技术的产品功能、优势以及API调用实践,这里重点说明图像增强还有发票识别,当然后面还展示了其他是一些~~~
小馒头学Python
2024/12/24
2120
【玩转OCR】 | 腾讯云智能结构化OCR在多场景的实际应用与体验
凭借这个OCR工具,我也体验了一次家庭“帝”位,吃上了三菜一汤
凑近一看,我惊讶地发现女友居然在傻傻地从快递单图片上一个字一个字地录信息到 Excel 里。
Lorin 洛林
2025/01/06
3994
凭借这个OCR工具,我也体验了一次家庭“帝”位,吃上了三菜一汤
【拆分PDF重命名】将PDF按页拆分多个PDF文件,并用PDF里文字对文件批量重命名,python和腾讯api识别改名的完整代码和详细步骤
在当今数字化办公和信息管理的大环境下,PDF 作为一种广泛使用的文档格式,承载着丰富的信息。然而,在很多情况下,我们会遇到需要对大型的 PDF 文件进行处理的需求。一个典型的场景是,一个多页的 PDF 文件包含了多个不同主题或信息单元,而用户希望将其按页拆分成多个单独的 PDF 文件,以便于更方便地管理、存储和检索这些信息。
不负众望
2025/02/24
2950
【拆分PDF重命名】将PDF按页拆分多个PDF文件,并用PDF里文字对文件批量重命名,python和腾讯api识别改名的完整代码和详细步骤
玩转腾讯云智能结构化OCR-高效文档处理与数据提取新时代
在当今数字化快速发展的时代,光学字符识别(OCR)技术已成为众多领域不可或缺的工具。它能将图像中的文字信息快速、准确地转化为可编辑的文本格式,极大地提高了数据处理的效率和准确性。腾讯云智能结构化OCR作为行业内的领先解决方案,具备强大且丰富的功能,涵盖了从商户门头照识别到票据识别等众多应用场景,旨在满足不同用户在不同业务场景下的多样化需求。本文将详细介绍腾讯云智能结构化OCR的功能、技术优势以及应用实践,帮助大家深入了解并有效运用这一强大的工具。
一键难忘
2025/01/12
1930
玩转OCR | 探索腾讯云智能结构化识别新境界
通过运用先进的多模态大模型技术,腾讯云OCR能够智能建立键值对应关系,并允许客户根据自身需求定制个性化模板,从而显著提高数据抓取与录入的效率。 这一解决方案广泛适用于政务事务处理、票据核销流程、行业表单自动化填写等多个业务场景。
Eternity._
2024/12/24
1600
玩转OCR | 探索腾讯云智能结构化识别新境界
【玩转OCR | 基于腾讯云智能结构化OCR的技术应用实践】
在当今数字化转型浪潮中,各行业日益依赖高效、准确的数据提取能力。然而,对于交通、物流、金融、零售等行业而言,日常业务中需要处理的大量票据、表单、合同等文件往往面临如下挑战:
GG Bond1
2024/12/31
4070
【玩转OCR | 基于腾讯云智能结构化OCR的技术应用实践】
腾讯云智能结构化OCR初体验:开启高效数据提取之旅
在数字化浪潮的推动下,企业面临着海量文档数据的处理挑战。传统的人工录入方式不仅效率低下,而且容易出错,严重影响了企业的运营效率。光学字符识别(OCR)技术的出现,为这一难题提供了有效的解决方案。腾讯云智能结构化OCR,凭借其卓越的技术实力和广泛的应用场景,正在成为企业数字化转型的重要助力。
LucianaiB
2025/01/10
1550
玩转OCR | 腾讯云智能结构化OCR初次体验
OCR又被称为光学字符识别技术,在数字化转型的浪潮中企业为了提高效率、降低成本的关键工具,而我们今天介绍的这款产品就是腾讯云推出的智能结构化OCR,它凭借其先进的技术和广泛的应用场景,正在推动跨行业高效精准的文档处理与数据提取新时代。
命运之光
2024/12/31
5320
玩转OCR | 腾讯云智能结构化OCR初次体验
【工具教程】批量OCR识别PDF中文字,并根据文字对PDF批量重命名和导出表格,基于QT和腾讯API来完成
在企业办公室场景中,每天都会产生大量包含重要信息的PDF文档,如合同文件、财务报表、项目计划书等。这些文档在进行存档时,通常需要有清晰、规范且易于识别的文件名,以便后续快速检索和管理。使用该功能,可以批量对这些PDF文件中的文字进行OCR识别,提取如合同编号、项目名称、报表日期等关键信息作为新文件名,大大提高了档案整理的效率和准确性,方便员工在需要时能够迅速定位和查阅所需的文档。
不负众望
2025/04/05
2860
【工具教程】批量OCR识别PDF中文字,并根据文字对PDF批量重命名和导出表格,基于QT和腾讯API来完成
推荐阅读
🔍 腾讯云OCR为何物?又是如何助力各行业实现“结构化”升级?
3680
玩转OCR | 腾讯云智能结构化识别初体验
2700
智能驱动未来:腾讯云智能结构化OCR赋能交通、物流、金融与零售行业实践
2090
玩转OCR | 腾讯云智能结构化OCR全面指南
9601
玩转OCR | 探索腾讯云智能结构化识别新境界
2280
探索腾讯云智能结构化OCR:技术解析与实践指南
2550
腾讯云智能结构化OCR技术在油气行业财务数据处理中的应用
1300
【玩转OCR | 腾讯云智能结构化OCR应用探索和场景实践】
3560
产品应用实践:腾讯云智能结构化OCR在物流行业的应用
1180
腾讯云智能结构化OCR在零售超市的应用:效率与准确率的双重提升
2330
玩转腾讯云智能结构化识别:OCR推动文档处理与数据提取进入新时代
4271
【玩转OCR】 | 腾讯云智能结构化OCR在多场景的实际应用与体验
2120
凭借这个OCR工具,我也体验了一次家庭“帝”位,吃上了三菜一汤
3994
【拆分PDF重命名】将PDF按页拆分多个PDF文件,并用PDF里文字对文件批量重命名,python和腾讯api识别改名的完整代码和详细步骤
2950
玩转腾讯云智能结构化OCR-高效文档处理与数据提取新时代
1930
玩转OCR | 探索腾讯云智能结构化识别新境界
1600
【玩转OCR | 基于腾讯云智能结构化OCR的技术应用实践】
4070
腾讯云智能结构化OCR初体验:开启高效数据提取之旅
1550
玩转OCR | 腾讯云智能结构化OCR初次体验
5320
【工具教程】批量OCR识别PDF中文字,并根据文字对PDF批量重命名和导出表格,基于QT和腾讯API来完成
2860
相关推荐
🔍 腾讯云OCR为何物?又是如何助力各行业实现“结构化”升级?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验