【玩转OCR | 腾讯云智能结构化OCR应用探索和场景实践】 ...

打印 上一主题 下一主题

主题 815|帖子 815|积分 2445

弁言

在数字化期间,光学字符识别(OCR)技术已成为企业提升效率、降低成本的关键工具。腾讯云智能结构化OCR凭借其高精度、灵活性和易用性,正在推动跨行业高效精准的文档处置处罚与数据提取新期间。本文将全面介绍腾讯云智能结构化OCR的功能、技术优势、应用场景以及通过现实代码示例展示其应用实践,帮助读者深入相识并有用运用这一强盛的工具。
一、产物介绍与技术优势

1.1 产物概述

腾讯云智能结构化OCR是腾讯云推出的一款基于深度学习、图像检测技术及OCR大模子能力的智能文字识别服务。它可以或许实现对不限版式的结构化信息抽取,无论是固定卡证还是复杂的物流票据,均可实现智能识别。该产物分为基础版与高级版,满足不同企业的需求,广泛应用于政务、票据核销、行业表单和国际物流等场景。

1.2 技术优势



  • 高精度识别:腾讯云智能结构化OCR支持恣意版式的卡证票据识别,文本基础识别准确率到达98%以上,文本结构化准确率到达85%以上,确保企业可以或许获取高质量的数据。
  • 完备性:该产物支持多种常见版式的数据结构化提取,如警察证、西席资格证、门路运输证等,适用于多个行业场景。
  • 易用性:用户仅需简单的几步配置,即可定制个性化需求模板,快速提取结构化数据,实现高效录入。腾讯云提供了丰富的API接口和详细的使用文档,开发者可以轻松集成OCR功能到本身的体系中。
二、功能特性与应用场景

2.1 功能特性



  • 智能KV格式信息提取:上传图片后,智能结构化OCR可以或许自动提取并结构化输出信息,以键值对(Key-Value)的情势出现,便于后续的数据处置处罚和分析。
  • 千种版式的自动提取:经过大规模验证,腾讯云智能结构化OCR支持超过6000种版面的证照票据识别,无需集成多个接口,单一接口即可解决诸多证照票据识别问题。
  • 亿级调用能力:腾讯云强盛的基础办法支持亿级调用量,确保高并发场景下的稳定性和可靠性。
2.2 应用场景



  • 政务场景:身份证、护照、驾驶证等证件的快速识别和信息提取,提升政务服务效率。
  • 票据核销场景:发票、收据、报销单等票据的自动识别和数据提取,简化财务报销流程。
  • 行业表单场景:各类行业表单的自动化识别和填写,淘汰人工录入错误,提高工作效率。
  • 国际物流场景:跨境货代、快递快运、国际商业与采购等票据的高精度结构化识别,加速物流信息处置处罚。
三、API调用与场景实践

3.1 在线demo体验

这里首先可以点击demo试用,然后上传一份pdf文档进行剖析,可以看到智能结构化可以或许实现不限版式的结构化信息抽取,无论是固定卡证还是复杂的物流票据,均可实现智能识别。

除了在线demo之外,腾讯云智能结构化OCR提供了详细的API接口文档,开发者可以根据文档引导进行接口调用,这里我也进行了初步的实践。
首先辈入智能结构化控制台,点击开通服务:

3.2 票据识别实践

票据识别是指通过OCR技术对各类票据(如发票、收据、报销单等)进行文字识别和数据提取。

以下是一个使用.NET调用腾讯云票据识别API的示例代码:
  1. using System;
  2. using System.Threading.Tasks;
  3. using Newtonsoft.Json;
  4. using TencentCloud.Common;
  5. using TencentCloud.Common.Profile;
  6. using TencentCloud.Ocr.V20181119;
  7. using TencentCloud.Ocr.V20181119.Models;
  8. namespace TencentCloudExamples
  9. {
  10.     class VatInvoiceOCR
  11.     {
  12.         static void Main(string[] args)
  13.         {
  14.             try
  15.             {
  16.                 Credential cred = new Credential
  17.                 {
  18.                     SecretId = "********",
  19.                     SecretKey = "********"
  20.                 };
  21.                 ClientProfile clientProfile = new ClientProfile();
  22.                 HttpProfile httpProfile = new HttpProfile();
  23.                 httpProfile.Endpoint = "ocr.tencentcloudapi.com";
  24.                 clientProfile.HttpProfile = httpProfile;
  25.                 OcrClient client = new OcrClient(cred, "", clientProfile);
  26.                 VatInvoiceOCRRequest req = new VatInvoiceOCRRequest();
  27.                 // 设置图片Base64编码,这里只是示例,实际使用时需替换为真实图片编码
  28.                 req.ImageBase64 = "data:image/png;base64,...";
  29.                 VatInvoiceOCRResponse resp = client.VatInvoiceOCRSync(req);
  30.                 Console.WriteLine(AbstractModel.ToJsonString(resp));
  31.             }
  32.             catch (Exception e)
  33.             {
  34.                 Console.WriteLine(e.ToString());
  35.             }
  36.         }
  37.     }
  38. }
复制代码
3.3 特定场景识别实践

3.3.1 数学公式识别

数学公式识别是指通过OCR技术对数学公式进行准确的识别和剖析,支持复杂的公式结构和符号。焦点在于将图像中的数学公式转换为可编辑的文本格式。

在现实使用中,腾讯云智能结构化OCR的公式识别功能表现精彩。用户只需上传包含公式的图像,体系即可快速准确地识别并返回可编辑的文本格式。这一功能不仅简化了公式录入和处置处罚的过程,还大大提高了工作效率和准确性。
以下是一个使用Python调用腾讯云数学公式识别API的示例代码:
  1. import hashlib
  2. import hmac
  3. import json
  4. import sys
  5. import time
  6. from datetime import datetime
  7. if sys.version_info[0] <= 2:
  8.     from httplib import HTTPSConnection
  9. else:
  10.     from http.client import HTTPSConnection
  11. def sign(key, msg):
  12.     return hmac.new(key, msg.encode("utf-8"), hashlib.sha256).digest()
  13. secret_id = "AKIDS***************bzE"
  14. secret_key = "AD8rM*****************8S4f"
  15. token = ""
  16. service = "ocr"
  17. host = "ocr.ap-shanghai.tencentcloudapi.com"
  18. region = "ap-guangzhou"
  19. version = "2018-11-19"
  20. action = "FormulaOCR"
  21. payload = '{"ImageBase64":"data:image/png;base64,**********需要的图片base64编码*********"}'
  22. params = json.loads(payload)
  23. endpoint = "https://ocr.ap-shanghai.tencentcloudapi.com"
  24. algorithm = "TC3-HMAC-SHA256"
  25. timestamp = int(time.time())
  26. date = datetime.utcfromtimestamp(timestamp).strftime("%Y-%m-%d")
  27. # 拼接规范请求串
  28. http_request_method = "POST"
  29. canonical_uri = "/"
  30. canonical_querystring = ""
  31. ct = "application/json; charset=utf-8"
  32. canonical_headers = "content-type:%s\nhost:%s\nx-tc-action:%s\n" % (ct, host, action.lower())
  33. signed_headers = "content-type;host;x-tc-action"
  34. hashed_request_payload = hashlib.sha256(payload.encode("utf-8")).hexdigest()
  35. canonical_request = (http_request_method + "\n" + canonical_uri + "\n" + canonical_querystring + "\n" + canonical_headers + "\n" + signed_headers + "\n" + hashed_request_payload)
  36. # 拼接待签名字符串
  37. credential_scope = date + "/" + service + "/" + "tc3_request"
  38. hashed_canonical_request = hashlib.sha256(canonical_request.encode("utf-8")).hexdigest()
  39. string_to_sign = (algorithm + "\n" + str(timestamp) + "\n" + credential_scope + "\n" + hashed_canonical_request)
  40. # 计算签名
  41. secret_date = sign(("TC3" + secret_key).encode("utf-8"), date)
  42. secret_service = sign(secret_date, service)
  43. secret_signing = sign(secret_service, "tc3_request")
  44. signature = hmac.new(secret_signing, string_to_sign.encode("utf-8"), hashlib.sha256).hexdigest()
  45. # 拼接 Authorization
  46. authorization = (algorithm + " " + "Credential=" + secret_id + "/" + credential_scope + ", " + "SignedHeaders=" + signed_headers + ", " + "Signature=" + signature)
  47. # 构造并发起请求
  48. headers = {
  49.     "Authorization": authorization,
  50.     "Content-Type": "application/json; charset=utf-8",
  51.     "Host": host,
  52.     "X-TC-Action": action,
  53.     "X-TC-Timestamp": timestamp,
  54.     "X-TC-Version": version
  55. }
  56. if region:
  57.     headers["X-TC-Region"] = region
  58. if token:
  59.     headers["X-TC-Token"] = token
  60. try:
  61.     req = HTTPSConnection(host)
  62.     req.request("POST", "/", headers=headers, body=payload.encode("utf-8"))
  63.     resp = req.getresponse()
  64.     print(resp.read())
  65. except Exception as err:
  66.     print(err)
复制代码
3.3.2 印章识别

印章识别是指通过OCR技术对印章进行准确的识别和剖析,支持各种印章类型和样式。以下是一个使用Go调用腾讯云印章识别API的示例代码:
  1. package main
  2. import (
  3.     "fmt"
  4.     "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"
  5.     "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
  6.     "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile"
  7.     ocr "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ocr/v20181119"
  8. )
  9. func main() {
  10.     credential := common.NewCredential("SecretId", "SecretKey")
  11.     cpf := profile.NewClientProfile()
  12.     cpf.HttpProfile.Endpoint = "ocr.ap-shanghai.tencentcloudapi.com"
  13.     client, _ := ocr.NewClient(credential, "ap-guangzhou", cpf)
  14.     request := ocr.NewSealOCRRequest()
  15.     request.ImageUrl = common.StringPtr("https://example.com/seal.jpg")
  16.     response, err := client.SealOCR(request)
  17.     if _, ok := err.(*errors.TencentCloudSDKError); ok {
  18.         fmt.Printf("An API error has returned: %s\n", err)
  19.         return
  20.     }
  21.     if err != nil {
  22.         panic(err)
  23.     }
  24.     fmt.Printf("%s\n", response.ToJsonString())
  25. }
复制代码
四、现实应用与未来展望

4.1 现实应用

在现实应用中,腾讯云智能结构化OCR已经为众多企业带来了显著的代价。通过智能化的结构化信息抽取,企业可以或许更加高效地处置处罚和分析图像数据,进一步推动业务流程的自动化和智能化。例如,在财务管理领域,票据识别功能可以自动化处置处罚大量发票和报销单,淘汰人工考核成本,提高报销效率;在物流领域,跨境货代票据的自动识别可以加速物流信息处置处罚,提升物流效率。
4.2 未来展望

随着技术的不停迭代和优化,OCR技术将会更加智能和高效,可以或许应对更复杂的应用场景,满足企业日益增长的数据处置处罚需求。腾讯云智能结构化OCR将继续引领行业发展,为更多企业提供强有力的技术支持。未来,我们可以期待腾讯云智能结构化OCR在更多领域的应用拓展,如医疗影像识别、自动驾驶场景中的路标和交通标志识别等,为数字化转型贡献更多力量。
五、总结

腾讯云智能结构化OCR凭借其高精度、灵活性和易用性,已经成为企业数字化转型的重要工具。通过本文的介绍和实践示例,信赖读者已经对腾讯云智能结构化OCR有了更深入的相识。未来,随着技术的不停进步和应用场景的不停拓展,腾讯云智能结构化OCR将为更多企业带来便捷和高效的数据处置处罚体验。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

不到断气不罢休

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表