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进行数字识别相关推荐

  1. opencv+python机读卡识别

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx 1.预处理 这次的机读卡识别项目来源暑期培训,主要包括内容一张手机拍摄的机读卡位置定位,识别其 ...

  2. opencv+python机读卡识别(一)预处理

    2019独角兽企业重金招聘Python工程师标准>>> 第二部分图像切割:https://my.oschina.net/u/3268732/blog/1236344 第三部分选择题识 ...

  3. python 答题卡识别_opencv+python机读卡识别(初级版)

    最近在进一步学习Python,在网上发现有使用opencv进行机读卡识别的, 就根据大神的文章,跟着学习,自己写了一个机读卡识别, 文章一:opencv+python机读卡识别整合版 文章二:pyth ...

  4. python 答题卡识别_opencv+python机读卡识别(最终版)

    本文是对之前编写的机读卡进行完善, 只记录相关代码,不介绍具体编写流程, 具体流程:opencv+python机读卡识别(进阶版) 完善相关机读卡的适配,记录相关调试函数以及使用方法. # -*- c ...

  5. python 答题卡识别_opencv+python机读卡识别整合版

    稍微整理了一下这个系列的一二三四章,可能看着更舒服吧--这个系列的解决方案不止一种,调参的方法也是各种各样,反正能够满足需求就极好了 1.预处理 这次的机读卡识别项目来源暑期培训,主要包括内容一张手机 ...

  6. python识别图像数字诊断模块_opencv+python 机读卡识别

    长按上图识别二维码报名济南源创会 摘要: 通过随意一张机读卡的照片,识别其中选择题题号,选项,以及相关数字识别.这个系列的解决方案不止一种,调参的方法也是各种各样,反正能够满足需求就极好了 1.预处理 ...

  7. python中的opencv读取数字_opencv+python 机读卡识别之试错(一)模板匹配的数字识别...

    图像来源于第四部分的数字,用任意截图工具截取部分图像当作模板,比如这样: 将模板与图像对比,这个方法根据matchTemplate函数只能选出整幅图里最匹配的图像,并不能找出所有,若想找出所有,必须不 ...

  8. 基于OpenCV的简单机读卡识别

    文章目录 一.简单介绍 二.步骤回顾 2.1 图像处理 2.1.1 图像的二值化 2.1.2 ROI(region of interest,感兴趣区域)的分割 a. 选择题部分分割 b. 数字部分分割 ...

  9. OpenCV机读卡识别

    简单介绍 编写一个基于OpenCV的小程序,用于识别下图所示机读卡. 步骤回顾 图像处理 图像二值化 图像识别离不开图像的处理.用相机拍摄的机读卡基本都是三通道的彩色图像,而这里需要用到的处理方法就是 ...

最新文章

  1. JPEG文件格式简单分析
  2. centos安装jdk7
  3. android 补间动画有停顿,Android动画原理分析(一)----补间动画
  4. 微信小程序部分功能介绍和实现
  5. Build 2018,给你带来全新的开发者体验, .NET Core 3.0带来桌面支持
  6. ???--???二进制变换
  7. Q窗口操作函数(窗口最大化,全屏,隐藏最大化最小化按钮)
  8. python 类方法 静态方法_Python静态方法和类方法
  9. OpenGL 渲染 YUYV(YUV422)
  10. Chrome 复制网页不可复制的文字
  11. 最全面的应届毕业生落户上海指南(2021)
  12. python爬虫 requests使用代理ip
  13. multisimbcd码_8421BCD码加法器报告1
  14. android蓝牙查看电池容量_Android获取电池电量和电池容量
  15. 分布式服务治理zookeeper原理及使用大全
  16. Linux下 安装白鹭(egret)引擎指南
  17. N子棋(外加双人对战)详解!推荐!!!
  18. python前端开发招聘_【天津前端开发招聘_最新天津前端开发招聘信息】-前程无忧...
  19. 计算机公式与函数的定义及两者的关系,excel(公式与函数).ppt
  20. 图片翻译成中文怎么弄?分享三个图片翻译小技巧

热门文章

  1. 学院后勤报修系统php_后勤不后|愿你的深情不再是秘密
  2. mysql5.5.20安装图解_mysql5.5.20的安装步骤
  3. git 上传代码到指定仓库_初次使用git上传代码到github远程仓库
  4. 如何将四元数方向转化为旋转举证_旋转表示法(持续更新)
  5. 2021高考成绩查询时间 新闻,教育资讯:2021高考成绩一般公布时间 多久出成绩...
  6. 下载软件一直转圈圈_来了来了,百度网盘不限速!亲测满速,支持免登录下载!...
  7. 用c语言描述单链表的数据类型,数据结构—单链表(类C语言描述)
  8. easyexcel 设置标题_EasyExcel,让 excel 导入导出更加简单
  9. echarts geo地图示例_干货|Pyecharts绘制好看的交互式地图教程
  10. 云计算的三种服务模式:IaaS,PaaS,SaaS