我想使用名片识别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相关推荐

  1. 名片识别信息分类python_python文字识别

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  2. 名片识别信息分类python_基于Python的智能名片识别接口调用代码实例

    基于Python的智能名片识别接口调用代码实例 #!/usr/bin/python # -*- coding: utf-8 -*- import json, urllib from urllib im ...

  3. 名片识别信息分类python_基于Python的名片识别接口调用代码实例.doc

    基于Python的名片识别接口调用代码实例 代码描述:基于Python的名片识别接口调用代码实例 #!/usr/bin/python # -*- coding: utf-8 -*- import js ...

  4. 名片识别信息分类python_基于PYTHON的名片识别接口调用代码实例

    #!/usr/bin/python # -*- coding: utf-8 -*- import json, urllib from urllib import urlencode #-------- ...

  5. java名片识别源码_名片识别名片信息快速提取

    原标题:名片识别名片信息快速提取 以中安的名片识别技术为例剖析,它可提供移动端名片识别OCR API,同时还提供云端名片识别OCR API. Application Programming Inter ...

  6. java名片识别源码_名片识别

    原标题:名片识别 以文通科技的名片识别技术为例剖析,它可提供移动端名片识别OCR API,同时还提供云端名片识别OCR API. Application Programming Interface,简 ...

  7. java截取固定大小图片_识文精灵(ocrwiz):如何把在线文字识别(图片转文字)OCR的互动体验提升到极致...

    截图-->粘贴图片(Ctrl+V)-->拷贝结果(Ctrl+C),只需要几秒钟,就可以快速识别并得到图片中的文字,体验行云流水.指哪打哪的感觉,这就是识文精灵(OcrWiz)给大家带来的体 ...

  8. c#和java部署pytorch同事识别两个图片_身份证OCR识别移动端amp;服务器

    摘要:由Web Service和其相关网站接收客户端上传的需要识别的图片.当Web Service接收到图片后将其转发给调度服务器,由任务调度程序再把识别请求分发给空闲的识别服务器,终由Web Ser ...

  9. Java调用百度OCR文字识别API实现图片文字识别软件

    java_baidu_ocr Java调用百度OCR文字识别API实现图片文字识别软件 这是一款小巧方便,强大的文字识别软件,由Java编写,配上了窗口界面 调用了百度ocr文字识别API 识别精度高 ...

最新文章

  1. ps抠图怎么放大图片_PS教程:透明玻璃杯不会抠图?一分钟利用通道面板快速抠图...
  2. Android固定宽度文字自适应大小
  3. class-5 If语句
  4. 转:WebApi(一)
  5. sap IUT255 Integration of SAP CRM and SAP IS-U_EN_Col62.pdf
  6. docker部署rocketmq
  7. Query意图分析:记一次完整的机器学习过程(scikit learn library学习笔记)
  8. 树上倍增一些理解和写法
  9. 前端学习(2139):webpack的安装
  10. 设置编译out_matlab2017a与 CCS 6.2联调设置
  11. xml文件中若没有子节点,则删除文件
  12. windows azure mysql data disk_调整Azure中虚拟机数据磁盘大小实践
  13. Jquery技巧:使用ajax技术提交表单数据
  14. Spring AOP(五)之Around增强处理
  15. 【IP分析】合并信号concat,拆分总线slice
  16. 1338: 不及格率
  17. 用html任选一首诗自动排版,利用 html2canvas 做个简单的诗词卡片生成器
  18. 小米8android p慢,给力 小米8青春版获得Android P更新
  19. SolidWorks-旋转凸台的使用
  20. 协方差矩阵与PCA原理深入剖析

热门文章

  1. python-DBSCAN密度聚类
  2. php改密后joomla无法登陆,php – Joomla 3.3禁用“重置密码”功能
  3. android 自定义控件 焦点,android中设置控件获得焦点
  4. c 高级语言,C作为高级语言?
  5. java 使用nullable_Java Stream ofNullable(T)用法及代码示例
  6. pwm控制的基本原理_单片机PWM控制基本原理详解~
  7. 耶鲁大学计算机科学录取,耶鲁大学计算机科学研究生Offer及录取要求
  8. javaweb教务管理系统_基于Java web的教务管理系统
  9. Django搭建简易博客
  10. 大数据常见问题:数据倾斜