涨姿势——教你如何获取图片上的文字

涨姿势——教你如何获取图片上的文字

 涨姿势——教你如何获取图片上的文字

 

同事写了一句很美丽的句子,我叫他发了一下给我,我想收藏,结果他却截图,截图,截图 给我,我很方……

看了看图片,想到了现在的图片识别,我没有什么好的方法能快速识别图片上的文字,想到这里,立马开始行动起来。

 

1— 我们的想法总是会使我们前进

那我们的目的就非常清楚,我们需要做的就是将图片上的文字提取出来,然后得到我们的文字信息。

 

想法:

1、我们还没有能力写出机器学习的本来,那我们要怎么做,这时候,我突然发现第三方绝对是一个神秘的组织群体,

2、有了第三方,那使用哪个第三方呢?当然是提供给我们需要功能的第三方。

3、搜索百度之后,才发现,百度这个第三方很好使用,就是他了。

4、刚好查询到,百度有一个图片识别的接口,好了,就用它了。

接口:

https://aip.baidubce.com/rest/2.0/ocr/v1/webimage

其他材料:

一张带有文字的图片。

 

02— 代码实现

获取到接口,那接下来就是去实现它:

首先来解决一下 

access_token

我们需要使用到另外的一个接口,

access_token= 'https://aip.baidubce.com/oauth/2.0/token?'       'grant_type=client_credentials&' \       'client_id=YtY4Q9wTWBFuc6B6P8XhmOV' \       '&client_secret=rwi6dj6YB4kH9IvbK6gtGvdXtq'

client_id 和 client_secret  这两个参数都需要到百度api后台去申请应用才能获取到。

然后是获取access_token的代码​:

headers={'Content-Type': 'application/json; charset=UTF-8'}host = 'https://aip.baidubce.com/oauth/2.0/token?' \       'grant_type=client_credentials&' \       'client_id=YtY4Q3UwTWBFuc6BP8XhmOV' \       '&client_secret=rwi6dj6YB4CkHhRNOIvbK6gtGvdXtq'access_token=requests.get(host,headers=headers).json()["access_token"]

access_token获取成功,那我们接下来拿出我们准备的图片​,

获取图片文字代码:

file = open("图片地址", 'rb')image = file.read()file.close()webimage=requests.post("https://aip.baidubce.com/rest/2.0/ocr/v1/webimage?access_token="+access_token,headers={"Content-Type":"application/x-www-form-urlencoded"},data={"image":base64.b64encode(image)}).json()for i in webimage["words_result"]:    print(i["words"],end='')#拼接文字输出

来看完整代码​:

import requestsimport base64headers={'Content-Type': 'application/json; charset=UTF-8'}host = 'https://aip.baidubce.com/oauth/2.0/token?' \       'grant_type=client_credentials&' \       'client_id=YtY4Q3UwTFuc6B6P8XhmOV' \       '&client_secret=rwi6dj6YB4CkHhRV1NvbK6gtGvdXtq'access_token=requests.get(host,headers=headers).json()["access_token"]file = open("图片地址", 'rb')# 读取图片image = file.read()file.close()webimage=requests.post("https://aip.baidubce.com/rest/2.0/ocr/v1/webimage?access_token="+access_token,                       headers={"Content-Type":"application/x-www-form-urlencoded"},                       data={"image":base64.b64encode(image)}).json()for i in webimage["words_result"]:    print(i["words"],end='')#拼接文字并输出

当然除了用来获取文字之外,还可以用来翻页验证码使用​。

在进行自动化操作时,验证码跳不过去,那可以试一下把验证码翻译​过来。

 

震惊!字符还可以这样玩……

论如何简单快捷的批量添加微信好友

如何给自己心仪的人每天发送天气提醒消息

 

了解更多,欢迎关注我们​:

涨姿势——教你如何获取图片上的文字

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111409.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 实用免费的SNMP网管工具-sugarnmsTool

    实用免费的SNMP网管工具-sugarnmsTool实用免费的SNMP网管工具SugarNMSTool是“北京智和信通技术有限公司”开发的图形化SNMP工具,可以免费使用。工具只有3M大小左右,便于携带,免安装,无数据库,可在Windows、Linux、Unix系统上快速运行。工具由大型SugarNMS智能网管软件的精华功能精简而成。SugarNMSTool是网管员、SNMP设备开发调试、SNMP诊断的日常必备工具。产品网站:www.zh

    2022年10月6日
    1
  • 常见存储引擎_存储引擎

    常见存储引擎_存储引擎TiKV简介TiKV是一个分布式事务型的键值数据库,提供了满足ACID约束的分布式事务接口,并且通过Raft协议保证了多副本数据一致性以及高可用。TiKV作为TiDB的存储层,为用户写入TiDB的数据提供了持久化以及读写服务,同时还存储了TiDB的统计信息数据。整体架构与传统的整节点备份方式不同,TiKV参考Spanner设计了multiraft-group的副本机制。将数据按照key的范围划分成大致相等的切片(下文统称为Region),每一个切片会..

    2022年9月23日
    0
  • 《拐点》简单选股绝招

    《拐点》简单选股绝招最近解股中总是发现大家的问题一再重复,急于寻找股票。其实你一直在找鱼,好不容易你找到一条鱼,明天又不知道如何去找鱼,传统的办法会是一个永远都解决不了的办法。本博试图告诉大家一个简单的办法,或许是找到渔的办法。   如何挑选股票,这是散户朋友最关心但又是最头痛有问题。朋友们总是不知如何选择股票,到处打听买什么股票。但往往买入后还是被套住。问题出在那里。本博告诉一个选择…

    2022年6月16日
    24
  • 性能测试方案设计_性能测试方案模板

    性能测试方案设计_性能测试方案模板1、概述1.1目的本部分主要是针对即将进行性能测试的对象(接口、模块、进程或系统)进行概要的说明,让人明白该测试对象的主要功能与作用及相关业务背景。同时要指出进行性能测试的驱动原因。1.2名词解释此方案中涉及的业务和技术方面的专业名词。1.3参考资料此方案参考和依据的所有文档2、测试对象的拓扑结构本部分主要以图表加文字的方式,对待测试对象(接口、模块、系统)的拓扑结构进行描述,并标上必要的数…

    2022年10月23日
    0
  • 数据结构中 ElemType

    数据结构中 ElemType前段时间,我带了大一的上机课,有好多同学问我,数据结构的struct中,ElemType是什么意思。我当时就操了,尼玛这不就是数据类型嘛!智商啊。后来我就慢慢想了,为什么用ElemType然后#defineElemTypeint来定义奥原来是为了好扩展,如果代码出现变化,我们可以修改最少的代码部分,是他符合你的要求。

    2022年5月12日
    48
  • 逻辑回归LR模型简介「建议收藏」

    逻辑回归LR模型简介「建议收藏」4.LR与线性回归的区别1.都是广义的线性回归,但LR可用于分类,在feature到结果的映射中加入了sigmoid(),实现了非线性。2.损失函数:线性回归–>平方损失函数;LR–>似然函数3.预测范围:线性回归–>整个实数域(敏感度一致);LR–>[0,1]…

    2022年10月13日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号