opencv+python机读卡识别(四)百度API进行数字识别
2019独角兽企业重金招聘Python工程师标准>>>
第一部分预处理:https://my.oschina.net/u/3268732/blog/1236298
第二部分图像切割:https://my.oschina.net/u/3268732/blog/1236344
第三部分选择题识别:https://my.oschina.net/u/3268732/blog/1237819
1.对数字图像部分进行处理 预处理部分同样需要,步骤与选择题模块相似,但目的不同,文字部分主要将数字变粗,便于识别。其实也就是和选择题模块相比变了几个参数
NumImg=cv2.blur(thresh,(15,15))
NumImg=cv2.threshold(NumImg, 170, 255, cv2.THRESH_BINARY)[1]
2.调用百度ocr api 试过多种检测方式,还是用别人家现成的好http://apistore.baidu.com/ 百度api使用方法: 首先需要注册一个百度云账号,这样在个人中心里就会看到apikey。这个就是和百度进行交流的钥匙。然后找到百度ocr的入口找到接口地址。虽然这里给出了但还是可以看下文档,里面有些细节,比如图片想免费就要300k以内。上面给的python示例代码是py2的,这里给出py3的方式(http://apis.baidu.com/idl_baidu/baiduocrpay/idlocrpaid)
import sys, urllib, json
import urllib.request
import urllib.parse
import base64
url = 'http://apis.baidu.com/idl_baidu/ocridcard/ocridcard'data = {}
data['fromdevice'] = "pc"
data['clientip'] = "10.10.10.0"
data['detecttype'] = "LocateRecognize"
data['languagetype'] = "ENG"#英文模式
data['imagetype'] = "1"
#图片在本地file_object = open('T.png','rb')
try:img = file_object.read( )
finally:file_object.close( )
data['image'] =base64.b64encode(img)decoded_data = urllib.parse.urlencode(data)
decoded_data = decoded_data.encode('utf-8')req = urllib.request.Request(url,decoded_data)req.add_header("Content-Type", "application/x-www-form-urlencoded")
req.add_header("apikey", "这里填入个人中心的apikey") resp = urllib.request.urlopen(req)
content = resp.read()
if(content):content = json.loads(content.decode())print(content)
3.切割图片 根据具体情况需要切割图片才能让百度api识别,具体限制因素还是图片大小,切割方式,这里只给出示例
#切割具体位置[起始y:终止y,起始x:终止y]
tempimg1=img[240:461,213:939]
#图片切割,width,height分别填入目标宽高
tempimg1 = cv2.resize(tempimg1, (width, height), cv2.INTER_LANCZOS4)
#图片保存,png,jpg格式均可cv2.imwrite("T.png", tempimg1)
之后调用,若识别为英文需要转化,比如可能将0识别为D,这时转换即可,如:
def temp(char):if(char=='D'):return '0'
效果如图展示 当然若是能想办法去掉答题卡外围边框效果应该会更好……
转载于:https://my.oschina.net/DDigimon/blog/1239954
opencv+python机读卡识别(四)百度API进行数字识别相关推荐
- opencv+python机读卡识别
向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程 公众号:datayx 1.预处理 这次的机读卡识别项目来源暑期培训,主要包括内容一张手机拍摄的机读卡位置定位,识别其 ...
- opencv+python机读卡识别(一)预处理
2019独角兽企业重金招聘Python工程师标准>>> 第二部分图像切割:https://my.oschina.net/u/3268732/blog/1236344 第三部分选择题识 ...
- python 答题卡识别_opencv+python机读卡识别(初级版)
最近在进一步学习Python,在网上发现有使用opencv进行机读卡识别的, 就根据大神的文章,跟着学习,自己写了一个机读卡识别, 文章一:opencv+python机读卡识别整合版 文章二:pyth ...
- python 答题卡识别_opencv+python机读卡识别(最终版)
本文是对之前编写的机读卡进行完善, 只记录相关代码,不介绍具体编写流程, 具体流程:opencv+python机读卡识别(进阶版) 完善相关机读卡的适配,记录相关调试函数以及使用方法. # -*- c ...
- python 答题卡识别_opencv+python机读卡识别整合版
稍微整理了一下这个系列的一二三四章,可能看着更舒服吧--这个系列的解决方案不止一种,调参的方法也是各种各样,反正能够满足需求就极好了 1.预处理 这次的机读卡识别项目来源暑期培训,主要包括内容一张手机 ...
- python识别图像数字诊断模块_opencv+python 机读卡识别
长按上图识别二维码报名济南源创会 摘要: 通过随意一张机读卡的照片,识别其中选择题题号,选项,以及相关数字识别.这个系列的解决方案不止一种,调参的方法也是各种各样,反正能够满足需求就极好了 1.预处理 ...
- python中的opencv读取数字_opencv+python 机读卡识别之试错(一)模板匹配的数字识别...
图像来源于第四部分的数字,用任意截图工具截取部分图像当作模板,比如这样: 将模板与图像对比,这个方法根据matchTemplate函数只能选出整幅图里最匹配的图像,并不能找出所有,若想找出所有,必须不 ...
- 基于OpenCV的简单机读卡识别
文章目录 一.简单介绍 二.步骤回顾 2.1 图像处理 2.1.1 图像的二值化 2.1.2 ROI(region of interest,感兴趣区域)的分割 a. 选择题部分分割 b. 数字部分分割 ...
- OpenCV机读卡识别
简单介绍 编写一个基于OpenCV的小程序,用于识别下图所示机读卡. 步骤回顾 图像处理 图像二值化 图像识别离不开图像的处理.用相机拍摄的机读卡基本都是三通道的彩色图像,而这里需要用到的处理方法就是 ...
最新文章
- JPEG文件格式简单分析
- centos安装jdk7
- android 补间动画有停顿,Android动画原理分析(一)----补间动画
- 微信小程序部分功能介绍和实现
- Build 2018,给你带来全新的开发者体验, .NET Core 3.0带来桌面支持
- ???--???二进制变换
- Q窗口操作函数(窗口最大化,全屏,隐藏最大化最小化按钮)
- python 类方法 静态方法_Python静态方法和类方法
- OpenGL 渲染 YUYV(YUV422)
- Chrome 复制网页不可复制的文字
- 最全面的应届毕业生落户上海指南(2021)
- python爬虫 requests使用代理ip
- multisimbcd码_8421BCD码加法器报告1
- android蓝牙查看电池容量_Android获取电池电量和电池容量
- 分布式服务治理zookeeper原理及使用大全
- Linux下 安装白鹭(egret)引擎指南
- N子棋(外加双人对战)详解!推荐!!!
- python前端开发招聘_【天津前端开发招聘_最新天津前端开发招聘信息】-前程无忧...
- 计算机公式与函数的定义及两者的关系,excel(公式与函数).ppt
- 图片翻译成中文怎么弄?分享三个图片翻译小技巧
热门文章
- 学院后勤报修系统php_后勤不后|愿你的深情不再是秘密
- mysql5.5.20安装图解_mysql5.5.20的安装步骤
- git 上传代码到指定仓库_初次使用git上传代码到github远程仓库
- 如何将四元数方向转化为旋转举证_旋转表示法(持续更新)
- 2021高考成绩查询时间 新闻,教育资讯:2021高考成绩一般公布时间 多久出成绩...
- 下载软件一直转圈圈_来了来了,百度网盘不限速!亲测满速,支持免登录下载!...
- 用c语言描述单链表的数据类型,数据结构—单链表(类C语言描述)
- easyexcel 设置标题_EasyExcel,让 excel 导入导出更加简单
- echarts geo地图示例_干货|Pyecharts绘制好看的交互式地图教程
- 云计算的三种服务模式:IaaS,PaaS,SaaS