opencv+python机读卡识别(一)预处理
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机读卡识别(一)预处理相关推荐
- opencv+python机读卡识别
向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程 公众号:datayx 1.预处理 这次的机读卡识别项目来源暑期培训,主要包括内容一张手机拍摄的机读卡位置定位,识别其 ...
- opencv+python机读卡识别(四)百度API进行数字识别
2019独角兽企业重金招聘Python工程师标准>>> 第一部分预处理:https://my.oschina.net/u/3268732/blog/1236298 第二部分图像切割: ...
- 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的小程序,用于识别下图所示机读卡. 步骤回顾 图像处理 图像二值化 图像识别离不开图像的处理.用相机拍摄的机读卡基本都是三通道的彩色图像,而这里需要用到的处理方法就是 ...
最新文章
- Caffe学习系列(7):solver及其配置
- linux下vim命令详解
- linux自动对齐命令,linux查看硬盘4K对齐方法
- 如何让页面动起来?支付宝2020新春红包前端3D技术揭秘
- SAP UI5 视图如何使用工程里的 sample data 作为 JSON model 的数据源
- 204. 计数质数 golang
- 【转】make makefile cmake qmake都是什么,有什么区别?
- oracle domnode释放,关于释放引用DOM对象内存的问题
- 3Dcnn 降假阳性模型调试(八)
- SAP License:ERP咨询顾问之路
- Elasticsearch+elasticsearch-head的安装+Kibana环境搭建+ik分词器安装
- 红帽停止对 CentOS 投资
- 使用js切割URL的参数
- 计算机等级的判断,计算机等级考试一级WPS判断题及答案
- Java使用easyExcel操作Excel案例
- 高职计算机专业英语说课ppt,大学英语说课比赛.ppt
- 了解uni-app只需这一篇就足够了
- 守望先锋代码_使用守望台自动刷新SQL Server容器
- android amr base64,base64 音频数据在部分手机播放失败 setDataSourceFD failed.:status=0x80000000...
- Springboot毕设项目基于SpringBoot的个人理财系统ibx9hjava+VUE+Mybatis+Maven+Mysql+sprnig)