前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >涨姿势——教你如何获取图片上的文字

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

作者头像
大家一起学编程
发布2021-03-29 14:55:39
3.1K0
发布2021-03-29 14:55:39
举报

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

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

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

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

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

想法:

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

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

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

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

接口:

代码语言:javascript
复制
https://aip.baidubce.com/rest/2.0/ocr/v1/webimage

其他材料:

一张带有文字的图片。

02— 代码实现

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

首先来解决一下

代码语言:javascript
复制
access_token

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

代码语言:javascript
复制
access_token= 'https://aip.baidubce.com/oauth/2.0/token?'
       'grant_type=client_credentials&' \
       'client_id=YtY4Q9wTWBFuc6B6P8XhmOV' \
       '&client_secret=rwi6dj6YB4CkH9IvbK6gtGvdXtq'

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

然后是获取access_token的代码:

代码语言:javascript
复制
headers={'Content-Type': 'application/json; charset=UTF-8'}
host = 'https://aip.baidubce.com/oauth/2.0/token?' \
       'grant_type=client_credentials&' \
       'client_id=YtY4Q3UwTWBFuc6B6P8XhmOV' \
       '&client_secret=rwi6dj6YB4CkHhRV1NOIvbK6gtGvdXtq'
access_token=requests.get(host,headers=headers).json()["access_token"]

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

获取图片文字代码:

代码语言:javascript
复制
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='')#拼接文字输出

来看完整代码:

代码语言:javascript
复制
import requests
import base64

headers={'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='')#拼接文字并输出

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大家一起学编程 微信公众号,前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档