需求:读取图片内的文字,图片包含url形式的和image形式的

实现思路:python调用腾讯api,参考腾讯官方文档:https://cloud.tencent.com/document/product/866/17596

步骤:调用api需要配置header请求头,请求头需要鉴权签名,鉴权签名需要api密钥。

鉴权签名:https://cloud.tencent.com/document/product/866/17734

api密钥的获取:登陆腾讯云https://console.cloud.tencent.com/cam/capi

代码如下

import time

import base64

import hmac

import hashlib

from hmac import new as hmac

import requests

import json

import datetime

import random

'''通过登陆腾讯云获取自己的api密钥'''

appid='12******25'

SecretID='AKIDGS************************NPpyNp'

SecretKey='Xt*************************iwybH'

'''初始化除api外的其他参数'''

currentTime = int(time.time()) #当前时间戳

expiredTime = currentTime+2592000 #签名的有效期 此处定义为当前时间+30天

bucket=''# 图片资源的组织管理单元,历史遗留字段,可不填

rand=7648353324 #随机串,通过函数 random.randint(1,9999999999) 生成

fileid='' #资源存储的唯一标识,单次签名必填;多次签名选填,如填写则会验证与当前操作的文件路径是否一致

'''配置 拼接签名串'''

src_str='a='+appid+'&b='+bucket+'&k='+SecretID+'&e='+str(expiredTime)+'&t='+str(currentTime)+'&r='+str(rand)+'&f='+fileid

'''定义生成签名的函数'''

def hash_hmac(ac_key,orignal):

SignTmp = hmac(bytes(ac_key,'utf-8'),bytes(orignal,'utf-8'), hashlib.sha1).digest()#+'.'+bytes(orignal,'utf-8')

Sign = base64.b64encode(SignTmp+orignal.encode())

return Sign

'''生成签名'''

authorization=hash_hmac(SecretKey,src_str)

'''定义请求协议'''

url='https://recognition.image.myqcloud.com/ocr/handwriting'

'''配置请求头'''

headers={

'Authorization':authorization,

'Host':'recognition.image.myqcloud.com'

}

# 使用 url 的请求示例

url_img='https://images.jiandaoyun.com/Fm0I5jLH9zGFpYn5SLoEP-EhWOmC'#+'.png'

data_img={'appid':appid,'url':url_img}

'''

使用 image 的请求示例

urlimg='kuaiji-5-243.jpg',open('D:\\python\\kuaiji\\kuaiji-5-243.jpg','rb'),'image/jpeg' data_img={'appid':appid,'image':(url_img)} ''' r = requests.post(url,files=dataimg,headers=headers)

data=json.loads(r.content.decode('utf-8'))

count=len(data['data']['items'])

try:

for i in range(count):

x=data['data']['items'][i]['itemcoord']['x']

y=data['data']['items'][i]['itemcoord']['y']

content=data['data']['items'][i]['itemstring']

print(content)

except:

print('wrong')

执行结果

python从图片提取文字_Python从图片提取文字相关推荐

  1. python三维矩阵出图_python读取图片的方式,以及将图片以三维数组的形式输出方法...

    python 三维npy数组如何画成三维图片 画成三维图片? 你要是想要看空间分布的话画散点图就可以啊,用matplotlib 网页链接 要是那种各种弯曲的面,也是matplotlib 网页链接 再就 ...

  2. python获取图片像素点颜色_Python获取图片位置像素色值及判断色值是否存在

    本文背景: 公司项目的广告系统有个功能,给图片模板打指定的颜色值点,根据需要拼合的图片数量,打点数量也不同.设计说他弄好了,运营上传打点后的模板图片时,获取不到打点的位置坐标.于是找研发看是怎么回事, ...

  3. python批量识别图片中文字_Python识别图片中的文字

    一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...

  4. python输入文字如何定义文字_python如何实现手动输入文字

    Python中可以使用input()函数接收用户输入的文字. 函数语法:input([prompt]) 参数说明:prompt: 提示信息 示例:>>>a = input(" ...

  5. 怎样在python 上输入文字_python如何实现手动输入文字

    Python中可以使用input()函数接收用户输入的文字. 函数语法:input([prompt]) 参数说明:prompt: 提示信息 示例:>>>a = input(" ...

  6. cmd删除txt部分文字_Python识别图片中的文字

    一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...

  7. python图片表格提取算法_python识别并提取表格中的文字--Apple的学习笔记

    此文为的后记.读者可以参考https://www.jianshu.com/p/b85667a4ef76 用到的python文字提取库pytesseract.用pip install pytessera ...

  8. python识别图片上的文字_python识别图片文字

    因为学校要求要刷一门叫<包装世界>的网课,而课程里有200多道选择题,而且只能在手机完成,网页版无法做题,而看视频是不可能看视频的,这辈子都不可能看...所以写了几行代码来进行百度搜答案. ...

  9. python将照片转文字_Python将图片转化成文字

    我们之前学过词云能将数据变成图片展示出来,那么今天我们就来看个不同的,将图片变成字符输出. 看个效果图: 文字输出: 那么下面我们来看看代码吧!import argparse from PIL imp ...

最新文章

  1. yii2.0验签组件(jwt)
  2. 数据查询和业务流分开_数据仓库介绍与实时数仓案例
  3. MySQL数据库服务器 主从配置
  4. StackExchange.Redis学习笔记(五) 发布和订阅
  5. 测试如何转为开发人员
  6. 技术分享|明源云天际集成开放平台接口中心基于IdentityServer4的鉴权机制
  7. android编程绘图,Android编程绘图操作之弧形绘制方法示例
  8. jq之slideToggle
  9. 那就是我mdash;mdash;大名鼎鼎的C++缪博士
  10. 超级搜索术6-问题驱动/系统思维
  11. 计算机管理找不到防火墙,电脑没有防火墙怎么办
  12. 度数秒分在线计算机,秒的换算(在线时间换算器)
  13. sqlmap挂马命令
  14. 关于df -h卡住和系统磁盘被占满的问题
  15. Spring项目-在线五子棋
  16. 推荐一款MD5解密在线网站
  17. Linux云计算学习教程,一个全新的世界—Linux
  18. 前端代码为什么会有低代码及无代码
  19. 蓝桥杯试题 算法训练 印章
  20. ffmpeg 编码器AVCodecContext 的配置参数

热门文章

  1. 哈希思想的应用 - 位图,布隆过滤器
  2. 轩小陌的Python笔记-Pandas 数据处理
  3. titanic_kaggle
  4. mysql perror_mysql perror工具
  5. go orm 报错 packet.go:123 closing bad idle connection
  6. Error creating bean with name 'userServiceImpl'Injection of autowired 分布式新搭建项目无法自动装配 creating bean
  7. IDEA报错Error occurred during initialization of VM
  8. 线性代数之——向量空间
  9. DIV横向排列的方法:float/inline-block/flex
  10. Java中你所轻视的三目运算符