名片识别信息分类python_python体验名片识别OCR
我想使用名片识别OCR,主要研究了腾讯云的智能映像和腾讯Youtu.
解析后的汉字直接是unicode,例如u'\ u90e8 \ u95e8 \ u526f \ u603b \ u7ecf \ u7406',根据腾讯的文档,代码经验:
首先,介绍一下.
import time
import random
import hmac, hashlib
import binascii
import base64
import requests
import os
import json
然后根据文档生成签名(签名权),此步骤不是很顺利. 在需要替换的位置中,自己查找文件名片识别服务,例如appid,secret_id,secret_key. 至于水桶,我不明白它的用途.
appid = 'your app id' #自己填
secret_id = 'your secret id' #自己填
secret_key = 'your secret key' #自己填
bucket= 'seem no use' #自己填
# 还有个https的,我没试
url = 'http://recognition.image.myqcloud.com/ocr/businesscard'
now = int(time.time())
rdm = random.randint(0,9999999999)
expired = now + 2592000 #一个月
plain_text = 'a='+appid+'&b='+bucket+'&k='+secret_id+'&e='+str(expired)+'&t='+str(now)+'&r='+str(rdm)+'&u=0&f='
bin = hmac.new(secret_key.encode(), plain_text.encode(), hashlib.sha1)
s = bin.hexdigest()
s = binascii.unhexlify(s)
s = s + plain_text.encode('ascii')
signature = base64.b64encode(s).rstrip() # 生成签名
print(signature)
接下来,有两种情况. 如果要识别的图像是URL,则相对简单. 设置标题和数据以发送请求. 图片网址以Utop为例. 只需打印出结果即可.
headers = {
'Authorization': signature,
'content-type': 'application/json',
}
data = {
'appid': appid,
'url_list': ['http://yoututest-1251966477.cossh.myqcloud.com/mingpian.jpg']
}
r = requests.post(url, headers=headers, data = json.dumps(data))
ret = r.json()
print(ret)
因为我不熟悉'content-type'的请求: 'multipart / form-data',所以研究了很长时间名片识别服务,后来发现它实际上很简单.
headers = {
'Authorization': signature,
# 不用设置content-type!!!
}
files = {
'appid': appid,
# 可以多张图片,但是必须image开头,路径自己设置好
'image[0]': ( 'image[0].jpeg', open(os.path.abspath('mingpian0.jpeg'), 'rb'), 'image/jpeg', {}),
# 'image[1]': ( 'image[1].jpeg', open(os.path.abspath('mingpian1.jpeg'), 'rb'), 'image/jpeg', {}),
}
r = requests.post(url, headers=headers, files=files)
ret = r.json()
print(ret)
您是否发现该水桶根本没有用过,没有从我的账户中扣除任何钱?也许是因为腾讯云提前付款并在下个月扣除了这笔钱吗?等一下.
Youtube的演示做得很好,吸引了我,但是关于识别结果,有几点需要注意: 首先,返回的结果很多,可能是一些原始数据. 第二,我没有得到汉字的结果编码. 它以\ x开头. 在这里,我仍然会体验到它,参考文档,它与上面的腾讯云没有太大区别.
顺便说一下,Youtu演示具有python代码. 我也从这里的简化中借用了. 每个人都知道,如果我不再次敲它,我会认为那不是真的.
首先介绍一堆.
# import 跟上面一样吧
签名部分也相似,但是存储桶已经成为申请Youtu的qq号,随便写这个字段似乎也可以.
appid = 'your app id' # 在优图申请应用后就得到
secret_id = 'your secret id' # 在优图申请应用后就得到
secret_key = 'your secret key' # 在优图申请应用后就得到
userid= 'your qq number'
url = 'http://api.youtu.qq.com/youtu/ocrapi/bcocr'
now = int(time.time())
rdm = random.randint(0,9999999999)
expired = now + 2592000
plain_text = 'u=' + userid + '&a=' + appid + '&k=' + secret_id + '&e=' + str(expired) + '&t=' + str(now) + '&r=' + str(rdm) + '&f='
bin = hmac.new(secret_key.encode(), plain_text.encode(), hashlib.sha1)
s = bin.hexdigest()
s = binascii.unhexlify(s)
s = s + plain_text.encode('ascii')
signature = base64.b64encode(s).rstrip() # 生成签名
print(signature)
还有两种情况,使用url和image,但是Utop的image方法实际上被转换为base64字符串,这相对简单.
headers = {
'Authorization': signature,
'Content-Type': 'text/json',
}
data = {
'app_id': appid,
'session_id': '',
}
# 下面自行选择字段
data['url'] = 'http://yoututest-1251966477.cossh.myqcloud.com/mingpian.jpg'
data["image"] = base64.b64encode(open(os.path.abspath('mingpian.jpeg'), 'rb').read()).rstrip().decode('utf-8')
r = requests.post(url, headers=headers, data = json.dumps(data))
ret = r.json()
print(ret)
我不会发布返回的结果.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-208056-1.html
名片识别信息分类python_python体验名片识别OCR相关推荐
- 名片识别信息分类python_python文字识别
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- 名片识别信息分类python_基于Python的智能名片识别接口调用代码实例
基于Python的智能名片识别接口调用代码实例 #!/usr/bin/python # -*- coding: utf-8 -*- import json, urllib from urllib im ...
- 名片识别信息分类python_基于Python的名片识别接口调用代码实例.doc
基于Python的名片识别接口调用代码实例 代码描述:基于Python的名片识别接口调用代码实例 #!/usr/bin/python # -*- coding: utf-8 -*- import js ...
- 名片识别信息分类python_基于PYTHON的名片识别接口调用代码实例
#!/usr/bin/python # -*- coding: utf-8 -*- import json, urllib from urllib import urlencode #-------- ...
- java名片识别源码_名片识别名片信息快速提取
原标题:名片识别名片信息快速提取 以中安的名片识别技术为例剖析,它可提供移动端名片识别OCR API,同时还提供云端名片识别OCR API. Application Programming Inter ...
- java名片识别源码_名片识别
原标题:名片识别 以文通科技的名片识别技术为例剖析,它可提供移动端名片识别OCR API,同时还提供云端名片识别OCR API. Application Programming Interface,简 ...
- java截取固定大小图片_识文精灵(ocrwiz):如何把在线文字识别(图片转文字)OCR的互动体验提升到极致...
截图-->粘贴图片(Ctrl+V)-->拷贝结果(Ctrl+C),只需要几秒钟,就可以快速识别并得到图片中的文字,体验行云流水.指哪打哪的感觉,这就是识文精灵(OcrWiz)给大家带来的体 ...
- c#和java部署pytorch同事识别两个图片_身份证OCR识别移动端amp;服务器
摘要:由Web Service和其相关网站接收客户端上传的需要识别的图片.当Web Service接收到图片后将其转发给调度服务器,由任务调度程序再把识别请求分发给空闲的识别服务器,终由Web Ser ...
- Java调用百度OCR文字识别API实现图片文字识别软件
java_baidu_ocr Java调用百度OCR文字识别API实现图片文字识别软件 这是一款小巧方便,强大的文字识别软件,由Java编写,配上了窗口界面 调用了百度ocr文字识别API 识别精度高 ...
最新文章
- ps抠图怎么放大图片_PS教程:透明玻璃杯不会抠图?一分钟利用通道面板快速抠图...
- Android固定宽度文字自适应大小
- class-5 If语句
- 转:WebApi(一)
- sap IUT255 Integration of SAP CRM and SAP IS-U_EN_Col62.pdf
- docker部署rocketmq
- Query意图分析:记一次完整的机器学习过程(scikit learn library学习笔记)
- 树上倍增一些理解和写法
- 前端学习(2139):webpack的安装
- 设置编译out_matlab2017a与 CCS 6.2联调设置
- xml文件中若没有子节点,则删除文件
- windows azure mysql data disk_调整Azure中虚拟机数据磁盘大小实践
- Jquery技巧:使用ajax技术提交表单数据
- Spring AOP(五)之Around增强处理
- 【IP分析】合并信号concat,拆分总线slice
- 1338: 不及格率
- 用html任选一首诗自动排版,利用 html2canvas 做个简单的诗词卡片生成器
- 小米8android p慢,给力 小米8青春版获得Android P更新
- SolidWorks-旋转凸台的使用
- 协方差矩阵与PCA原理深入剖析
热门文章
- python-DBSCAN密度聚类
- php改密后joomla无法登陆,php – Joomla 3.3禁用“重置密码”功能
- android 自定义控件 焦点,android中设置控件获得焦点
- c 高级语言,C作为高级语言?
- java 使用nullable_Java Stream ofNullable(T)用法及代码示例
- pwm控制的基本原理_单片机PWM控制基本原理详解~
- 耶鲁大学计算机科学录取,耶鲁大学计算机科学研究生Offer及录取要求
- javaweb教务管理系统_基于Java web的教务管理系统
- Django搭建简易博客
- 大数据常见问题:数据倾斜