2019独角兽企业重金招聘Python工程师标准>>>

第二部分图像切割:https://my.oschina.net/u/3268732/blog/1236344

第三部分选择题识别:https://my.oschina.net/u/3268732/blog/1237819

第四部分数字识别:https://my.oschina.net/u/3268732/blog/1239954

这次的机读卡识别项目来源暑期培训,主要包括内容一张手机拍摄的机读卡位置定位,识别其中选择题模块及少量数字识别,给出样例图片:

1.环境配置: 环境是python3.5的,大体部分需要配置的是numpy+mlk版本,scipy,来支持opencv,另外辅助以imutils,这个包里面含有4点变换函数以及matplotlib来辅助绘图

import cv2
import matplotlib.pyplot as plt
import imutils
from imutils.perspective import four_point_transform

2.图片预处理 为了方便找出图片的4个顶点,所以需要一次自适应二值化,为了使图片效果更好,所以在二值化之前还加了一层高斯滤波

#读入图片
image = cv2.imread("test10.jpg")
#转换为灰度图像
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
#高斯滤波
blurred = cv2.GaussianBlur(gray, (3, 3), 0)
#自适应二值化方法
blurred=cv2.adaptiveThreshold(blurred,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,51,2)
'''
adaptiveThreshold函数:第一个参数src指原图像,原图像应该是灰度图。第二个参数x指当像素值高于(有时是小于)阈值时应该被赋予的新的像素值第三个参数adaptive_method 指: CV_ADAPTIVE_THRESH_MEAN_C 或 CV_ADAPTIVE_THRESH_GAUSSIAN_C第四个参数threshold_type  指取阈值类型:必须是下者之一  •  CV_THRESH_BINARY,• CV_THRESH_BINARY_INV第五个参数 block_size 指用来计算阈值的象素邻域大小: 3, 5, 7, ...第六个参数param1    指与方法有关的参数。对方法CV_ADAPTIVE_THRESH_MEAN_C 和 CV_ADAPTIVE_THRESH_GAUSSIAN_C, 它是一个从均值或加权均值提取的常数, 尽管它可以是负数。
'''
#这一步可有可无,主要是增加一圈白框,以免刚好卷子边框压线后期边缘检测无果。好的样本图就不用考虑这种问题
blurred=cv2.copyMakeBorder(blurred,5,5,5,5,cv2.BORDER_CONSTANT,value=(255,255,255))

转载于:https://my.oschina.net/DDigimon/blog/1236298

opencv+python机读卡识别(一)预处理相关推荐

  1. opencv+python机读卡识别

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

  2. opencv+python机读卡识别(四)百度API进行数字识别

    2019独角兽企业重金招聘Python工程师标准>>> 第一部分预处理:https://my.oschina.net/u/3268732/blog/1236298 第二部分图像切割: ...

  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. Caffe学习系列(7):solver及其配置
  2. linux下vim命令详解
  3. linux自动对齐命令,linux查看硬盘4K对齐方法
  4. 如何让页面动起来?支付宝2020新春红包前端3D技术揭秘
  5. SAP UI5 视图如何使用工程里的 sample data 作为 JSON model 的数据源
  6. 204. 计数质数 golang
  7. 【转】make makefile cmake qmake都是什么,有什么区别?
  8. oracle domnode释放,关于释放引用DOM对象内存的问题
  9. 3Dcnn 降假阳性模型调试(八)
  10. SAP License:ERP咨询顾问之路
  11. Elasticsearch+elasticsearch-head的安装+Kibana环境搭建+ik分词器安装
  12. 红帽停止对 CentOS 投资
  13. 使用js切割URL的参数
  14. 计算机等级的判断,计算机等级考试一级WPS判断题及答案
  15. Java使用easyExcel操作Excel案例
  16. 高职计算机专业英语说课ppt,大学英语说课比赛.ppt
  17. 了解uni-app只需这一篇就足够了
  18. 守望先锋代码_使用守望台自动刷新SQL Server容器
  19. android amr base64,base64 音频数据在部分手机播放失败 setDataSourceFD failed.:status=0x80000000...
  20. Springboot毕设项目基于SpringBoot的个人理财系统ibx9hjava+VUE+Mybatis+Maven+Mysql+sprnig)

热门文章

  1. 赶集网–免费发布信息
  2. 如何在模拟器里面脱360的壳
  3. Cell Reports:任栓成/高东/胡志安/唐玲团队合作揭示压力性失眠发生的神经机制
  4. Excel 防止一列重复输入
  5. iOS 在XCode中upload 成功,但是在itunes connect 一直看不到
  6. 如何在Mac和Windows PC之间无线共享文件
  7. 0716 process finished with exit code 0 解决
  8. 三颗锦囊用完,苹果新iPad今年挡得住两大集团军吗?
  9. 地产中介门店10用户桌面云方案
  10. Sphinx武林秘籍(中)