0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AI提取图片里包含的文字信息-解决文字无法复制的痛点

DS小龙哥-嵌入式技术 来源:DS小龙哥-嵌入式技术 作者:DS小龙哥-嵌入式技 2023-07-07 09:37 次阅读

1. 前言

平时工作中编写开发技术文档,或者学生在编写论文时,经常会上网搜索一些参考文献、文档。

比如: 上网搜索相似的内容参考一下或者引用别人的一段文字,有时候看到一篇较好的内容想要保存等等。

这个过程中会发现,很多网站的提供的页面都是不能复制粘贴的,或者直接是图片形式提供,为了方便能获取这些文字,当前就利用华为云提供的 通用文字识别接口,识别图片里的文本内容,方便复制文字。这个功能QQ上也集成了,使用很方便,这里利用华为云的接口实现一个与QQ类似的功能,截图之后识别图片里包含的文本内容。

这个文字识别接口里不仅仅有通用文字识别功能,还支持很多其他功能:比如身份证、驾驶证、保险单、手写文本、火车票,行驶证.......等等功能。还支持用户自定义识别模板,指定需要识别的关键字段,实现用户特定格式图片的自动识别和结构化提取。

image-20220214142233066

2. 文本识别接口使用介绍

2.1 开通服务

地址: https://console.huaweicloud.com/ocr/?region=cn-north-4#/ocr/overview

image-20220214142605756

这个文字识别服务是按调用次数计费的,每个用户每月有1000次的免费调用次数,开通服务后就可以使用。

2.2 接口地址

官网帮助文档: https://support.huaweicloud.com/api-ocr/ocr_03_0042.html

POST https://{endpoint}/v2/{project_id}/ocr/general-text

示例:
https://ocr.cn-north-4.myhuaweicloud.com/v2/0e5957be8a00f53c2fa7c0045e4d8fbf/ocr/general-text

请求头:
{
 "X-Auth-Token": "******",
 "Content-Type": "application/json;charset=UTF-8"
}

请求体:
{
 "image": ----这是图片的bas64编码
}

响应结果:
{
 "result": {
  "words_block_count": 13,
  "words_block_list": [
   {
    "words": "撤,还是不撤?",
    "location": [
     [
      43,
      39
     ],
     [
      161,
      39
     ],
     [
      161,
      60
     ],
     [
      43,
      60
     ]
    ]
   },
   {
    "words": "让我更骄傲的是公司在大灾面前的表现。",
    "location": [
     [
      72,
      95
     ],
     [
      332,
      95
     ],
     [
      332,
      113
     ],
     [
      72,
      113
     ]
    ]
   },
   {
    "words": "2011年3月11日14时46分,日本东北部海域发生里氏9.0级",
    "location": [
     [
      71,
      122
     ],
     [
      482,
      122
     ],
     [
      482,
      142
     ],
     [
      71,
      142
     ]
    ]
   },
   {
    "words": "地震并引发海啸。那一刻,我们正在距离东京100公里的热海开会,",
    "location": [
     [
      41,
      149
     ],
     [
      481,
      149
     ],
     [
      481,
      171
     ],
     [
      41,
      171
     ]
    ]
   },
   {
    "words": "感觉“咚”",
    "location": [
     [
      42,
      180
     ],
     [
      114,
      180
     ],
     [
      114,
      199
     ],
     [
      42,
      199
     ]
    ]
   },
   {
    "words": "地被震了一下。面对地震,",
    "location": [
     [
      115,
      178
     ],
     [
      296,
      178
     ],
     [
      296,
      199
     ],
     [
      115,
      199
     ]
    ]
   },
   {
    "words": "大家都很镇定,",
    "location": [
     [
      300,
      179
     ],
     [
      400,
      179
     ],
     [
      400,
      197
     ],
     [
      300,
      197
     ]
    ]
   },
   {
    "words": "直到看到电",
    "location": [
     [
      405,
      179
     ],
     [
      483,
      179
     ],
     [
      483,
      196
     ],
     [
      405,
      196
     ]
    ]
   },
   {
    "words": "视上触目惊心的画面:15时 25 分,海啸到达陆前高田市海岸;15时",
    "location": [
     [
      41,
      206
     ],
     [
      485,
      206
     ],
     [
      485,
      228
     ],
     [
      41,
      228
     ]
    ]
   },
   {
    "words": "26分,海啸到达陆前高田市中心;15时43分,陆前高田市依稀只能",
    "location": [
     [
      40,
      234
     ],
     [
      486,
      234
     ],
     [
      486,
      258
     ],
     [
      40,
      258
     ]
    ]
   },
   {
    "words": "看到四层高的市府大楼的屋顶,一瞬间,城镇就变成了汪洋……对",
    "location": [
     [
      40,
      262
     ],
     [
      487,
      262
     ],
     [
      487,
      287
     ],
     [
      40,
      287
     ]
    ]
   },
   {
    "words": "我来说,地震跟家常便饭一样,可眼前的灾难比以往任何一次都要",
    "location": [
     [
      40,
      292
     ],
     [
      487,
      292
     ],
     [
      487,
      317
     ],
     [
      40,
      317
     ]
    ]
   },
   {
    "words": "惨烈,完全超出了我的预期。",
    "location": [
     [
      41,
      326
     ],
     [
      231,
      326
     ],
     [
      231,
      345
     ],
     [
      41,
      345
     ]
    ]
   }
  ],
  "direction": -1
 }
}

在请求参数里的X-Auth-Token参数比较重要,调用华为云的任何API接口都需要这个参数,获取方式可以看前面的文章。比如这篇文章: https://support.huaweicloud.com/api-ocr/ocr_03_0005.html

2.3 在线调试接口

地址: https://apiexplorer.developer.huaweicloud.com/apiexplorer/debug?product=OCR&api=RecognizeGeneralText

使用调试接口想体验识别效果,图片的数据支持base64编码、http网络图片地址传入,测试非常方便。

关于获取图片base64编码的方式,在文档里也有介绍,直接通过浏览器获取。

image-20220214144146775

image-20220214143945486

3. 实现代码

代码采用QT编写的,请求API接口实现调用。其他语言方法是一样的。

3.1 实现效果

image-20220214144917259

image-20220214144825170

3.2 核心代码

//解析反馈结果
void Widget::replyFinished(QNetworkReply *reply)
{
    QString displayInfo="";
    int statusCode = reply- >attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();

    //读取所有数据
    QByteArray replyData = reply- >readAll();

    qDebug()< < "状态码:"<

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    8491

    浏览量

    150809
  • AI
    AI
    +关注

    关注

    87

    文章

    30095

    浏览量

    268352
  • 文字识别
    +关注

    关注

    0

    文章

    16

    浏览量

    8625
收藏 人收藏

    评论

    相关推荐

    推荐几个去掉图片上的文字的技巧!!

    文字 区域拖动鼠标复制以复盖文字。 要注意的是,采样即为复制的 起始点。选择不同的笔刷直径会影响绘制的范围,而不同的笔刷 硬度会影响绘制
    发表于 06-02 18:08

    提取图片中的文字

    用单片机控制摄像头拍照后,怎么能提取出照片上的文字呢??有没有大神给点建议啊
    发表于 03-12 20:37

    AI文字识别】lingxin-yuhe Codelab记录帖

    `1、下载开发工具,很简单的安装过程。2、根据AI文字识别建立工程。3、根据文档一步一步布局,写逻辑。4、下载符合要求的图片,内带较清晰的文字。5、启动模拟器,运行程序。上图:`
    发表于 04-14 22:00

    基于AI通用文字识别能力,检测和识别文档翻拍、街景翻拍等图片中的文字

    结果"下方看到包含关键词的图片。垃圾分类人人做 做好分类为人人可回收物 其他垃圾通过本教程的学习,你已学会如何使用AI能力中的通用文字识别和分词。
    发表于 08-27 11:27

    C#教程之图片上绘制文字

    C#教程之图片上绘制文字,很好的C#资料,快来学习吧。
    发表于 04-20 11:13 5次下载

    基于matlab的文字识别算法

    在图像中,文字信息包含了丰富的高层语义信息提取出这些文字,对于图像高层语义的理解、索引和检索非
    发表于 01-15 10:31 3w次阅读
    基于matlab的<b class='flag-5'>文字</b>识别算法

    如何提取和检测视频中的文字?数字视频中文字的检测提取技术的分析

    作为一种高级语义特征, 视频中的文字信息对视频内容的理解、索引和检索具有重要意义。本文针对非压缩域中视频文字的检测与提取技术做了详尽的分析和讨论, 涉及的内容包括:
    发表于 09-17 17:58 26次下载
    如何<b class='flag-5'>提取</b>和检测视频中的<b class='flag-5'>文字</b>?数字视频中<b class='flag-5'>文字</b>的检测<b class='flag-5'>提取</b>技术的分析

    如何在电脑中对图片文字进行局部识别

        相信很多人和小编一样电脑中保存了一些带有文字图片,有时候因为需要会将里面的文字进行提取,然而又不想对着图片一个字一个字的打出来,这
    发表于 11-13 14:07 577次阅读

    怎样简单识别提取图中文字

      相信很多人都和小编一样有这样一个烦恼,经常需要将图片或者扫描件中的文字提取出来,应用到别的地方去,这个时候你该不会傻傻的手动敲出文字吧,这种方法简直太麻烦了,而且耽误时间,下面小编
    发表于 03-26 14:41 1018次阅读

    文字区域提取源代码免费下载

    本文档的主要内容详细介绍的是文字区域提取源代码免费下载。
    发表于 01-09 08:00 1次下载
    <b class='flag-5'>文字</b>区域<b class='flag-5'>提取</b>源代码免费下载

    曝腾讯QQ发生崩溃 部分群聊无法发送文字图片

    3月10日午间,腾讯QQ突然出现崩溃现象,部分群聊无法发送文字图片内容,只能发送表情、文档。
    的头像 发表于 03-10 14:27 3426次阅读

    使用javascript实现文字图片上下滚动的代码免费下载

    本文档的主要内容详细介绍的是使用javascript实现文字图片上下滚动的代码免费下载。
    发表于 02-02 14:36 9次下载

    浅析HarmonyOS基于AI的通用文字识别技术

    在资讯大爆炸的时代,我们经常面临文件、图片找不到的情况,HarmonyOS基于AI的通用文字识别技术,可以有效帮助我们解决这些难题。 基于AI的通用
    的头像 发表于 08-20 10:42 3126次阅读

    如何用Java几行代码从图片提取文字

    近日浏览网上一些图片提取文字的网站,觉得甚是有趣,花费半日也做了个在线图片识别程序,完成了两个技术方案的选择,一是tesseract+python flask的方案实现,二是
    的头像 发表于 10-28 14:05 1962次阅读
    如何用Java几行代码从<b class='flag-5'>图片</b><b class='flag-5'>提取</b><b class='flag-5'>文字</b>

    图片文字识别:揭开数字世界的神秘面纱

    随着数字化时代的到来,我们生活中的大部分数据都以图片的形式存在。然而,这些图片中蕴含的信息往往比文字更丰富,如何从这些图片中提取有价值的
    的头像 发表于 05-11 18:20 581次阅读