python从图片提取文字_Python从图片提取文字
需求:读取图片内的文字,图片包含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从图片提取文字相关推荐
- python三维矩阵出图_python读取图片的方式,以及将图片以三维数组的形式输出方法...
python 三维npy数组如何画成三维图片 画成三维图片? 你要是想要看空间分布的话画散点图就可以啊,用matplotlib 网页链接 要是那种各种弯曲的面,也是matplotlib 网页链接 再就 ...
- python获取图片像素点颜色_Python获取图片位置像素色值及判断色值是否存在
本文背景: 公司项目的广告系统有个功能,给图片模板打指定的颜色值点,根据需要拼合的图片数量,打点数量也不同.设计说他弄好了,运营上传打点后的模板图片时,获取不到打点的位置坐标.于是找研发看是怎么回事, ...
- python批量识别图片中文字_Python识别图片中的文字
一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...
- python输入文字如何定义文字_python如何实现手动输入文字
Python中可以使用input()函数接收用户输入的文字. 函数语法:input([prompt]) 参数说明:prompt: 提示信息 示例:>>>a = input(" ...
- 怎样在python 上输入文字_python如何实现手动输入文字
Python中可以使用input()函数接收用户输入的文字. 函数语法:input([prompt]) 参数说明:prompt: 提示信息 示例:>>>a = input(" ...
- cmd删除txt部分文字_Python识别图片中的文字
一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...
- python图片表格提取算法_python识别并提取表格中的文字--Apple的学习笔记
此文为的后记.读者可以参考https://www.jianshu.com/p/b85667a4ef76 用到的python文字提取库pytesseract.用pip install pytessera ...
- python识别图片上的文字_python识别图片文字
因为学校要求要刷一门叫<包装世界>的网课,而课程里有200多道选择题,而且只能在手机完成,网页版无法做题,而看视频是不可能看视频的,这辈子都不可能看...所以写了几行代码来进行百度搜答案. ...
- python将照片转文字_Python将图片转化成文字
我们之前学过词云能将数据变成图片展示出来,那么今天我们就来看个不同的,将图片变成字符输出. 看个效果图: 文字输出: 那么下面我们来看看代码吧!import argparse from PIL imp ...
最新文章
- yii2.0验签组件(jwt)
- 数据查询和业务流分开_数据仓库介绍与实时数仓案例
- MySQL数据库服务器 主从配置
- StackExchange.Redis学习笔记(五) 发布和订阅
- 测试如何转为开发人员
- 技术分享|明源云天际集成开放平台接口中心基于IdentityServer4的鉴权机制
- android编程绘图,Android编程绘图操作之弧形绘制方法示例
- jq之slideToggle
- 那就是我mdash;mdash;大名鼎鼎的C++缪博士
- 超级搜索术6-问题驱动/系统思维
- 计算机管理找不到防火墙,电脑没有防火墙怎么办
- 度数秒分在线计算机,秒的换算(在线时间换算器)
- sqlmap挂马命令
- 关于df -h卡住和系统磁盘被占满的问题
- Spring项目-在线五子棋
- 推荐一款MD5解密在线网站
- Linux云计算学习教程,一个全新的世界—Linux
- 前端代码为什么会有低代码及无代码
- 蓝桥杯试题 算法训练 印章
- ffmpeg 编码器AVCodecContext 的配置参数
热门文章
- 哈希思想的应用 - 位图,布隆过滤器
- 轩小陌的Python笔记-Pandas 数据处理
- titanic_kaggle
- mysql perror_mysql perror工具
- go orm 报错 packet.go:123 closing bad idle connection
- Error creating bean with name 'userServiceImpl'Injection of autowired 分布式新搭建项目无法自动装配 creating bean
- IDEA报错Error occurred during initialization of VM
- 线性代数之——向量空间
- DIV横向排列的方法:float/inline-block/flex
- Java中你所轻视的三目运算符