文档章节

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

Digimon
 Digimon
发布于 2017/07/09 14:40
字数 505
阅读 1254
收藏 32

第二部分图像切割: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))

© 著作权归作者所有

共有 人打赏支持
Digimon
粉丝 40
博文 18
码字总数 14810
作品 0
成都
程序员
加载中

评论(2)

Digimon
Digimon

引用来自“西城决若影琉璃白”的评论

厉害

安利~~~~互粉 ~~~~~ studyai.com :bowtie:

回复@西城决若影琉璃白 : 新开的ai社区么
西城决若影琉璃白
西城决若影琉璃白
厉害

安利~~~~互粉 ~~~~~ studyai.com :bowtie:
关于机器识别或图像识别的问题求助?

把机读卡扫描成图片,通过对图片的处理,得到学生的得分。尽管有现成的机读卡,但是这个卡是定制的,所以只有通过自己做识别了,但是还没有思路,求大家集思广益。

小昭归来
2017/02/17
167
2
北京中安未来电子护照阅读器(最新版本)

一、产品描述: 北京中安未来电子护照阅读器是一款外形轻巧美观的证件识读设备,它配备高清500万像素成像系统,采用TH-OCR技术可识别多种身份证件。可识读符合国际民航组织ICAO DOC 9303标准...

wenzuoyong123
04/23
0
0
浅谈RFID技术在电子巡更中的作用

“电子巡更机”,很多人都不太认识这个是什么? 那么对于电子技术专业的人来说,如果,说起“RFID” 可能就会认识。 今天我们来聊一聊,基于RFID技术的智能巡更系统。 我们都知道读卡技术中,...

英泽FCARD
06/20
0
0
opencv中复制视频不成功,请大牛请教

大牛们,本人在opencv+python环境下,用下列代码创建新视频,文件创建成功,但是该视频文件没有任何内容写入,是什么原因啊 import cv2 videoCapture = cv2.VideoCapture('f://video.avi') ...

哈泥湖
2013/07/19
766
1
车牌识别SDK开发包智能神器OCR工具

  新闻:【交警新标配“手机神器”违法车信息可拍照录入】北京交警的“新武器”——对着违法车辆一拍,就能全盘掌握车辆和驾驶人的信息;哪里有事故发生民警只需一键导航就可快速赶到;事故...

人工智能专家刘飞
2017/08/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSX | SafariBookmarksSyncAgent意外退出解决方法

1. 启动系统, 按住⌘-R不松手2. 在实用工具(Utilities)下打开终端,输入csrutil disable, 然后回车; 你就看到提示系统完整性保护(SIP: System Integrity Protection)已禁用3. 输入reboot回车...

云迹
今天
3
0
面向对象类之间的关系

面向对象类之间的关系:is-a、has-a、use-a is-a关系也叫继承或泛化,比如大雁和鸟类之间的关系就是继承。 has-a关系称为关联关系,例如企鹅在气候寒冷的地方生活,“企鹅”和“气候”就是关...

gackey
今天
4
0
读书(附电子书)|小狗钱钱之白色的拉布拉多

关注公众号,在公众号中回复“小狗钱钱”可免费获得电子书。 一、背景 之前写了一篇文章 《小狗钱钱》 理财小白应该读的一本书,那时候我才看那本书,现在看了一大半了,发现这本书确实不错,...

tiankonguse
今天
4
0
Permissions 0777 for ‘***’ are too open

异常显示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ......

李玉长
今天
5
0
区块链10年了,还未落地,它失败了吗?

导读 几乎每个人,甚至是对通证持怀疑态度的人,都对区块链的技术有积极的看法,因为它有可能改变世界。然而,区块链技术问世已经10年了,我们仍然没有真正的用上区块链技术。 几乎每个人,甚...

问题终结者
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部