python+opencv银行卡卡号识别(模板匹配字符识别算法)实训&毕设必备!!!

一.思路与过程(解决问题)

本文采用模板匹配字符识别算法。

首先需要一个模板,数字样式和银行卡号的数字样式差别不大。

例如:

我有一张建行卡和一张农行卡,农行卡的6和9都带勾,对就像前面打出来的一样,但建行的卡却不带勾,有点像随意的手写。

这样就对模板提出了要求,两种卡应该用两种不同的模板。

操作过程中我找不到合适的模板,我又不会P图,所以我直接在word里敲了0123456789,然后调为初号并加粗最后截了个图。

然后又用电脑自带的画图自行给6和9加上了勾(强颜欢笑),以此来作为农行的模板。

1.模板预处理

转换为灰度图-->数字与背景对比不太明显的话可以腐蚀一下(腐蚀了高亮部分,即加粗了数字)-->二值化图像。

然后提取轮廓-->提取roi区域放入字典中,数字与序号(key)对应。

(1)bug解决:contours is not a numpy array,neither a scalar

在检查时想要画出轮廓,确总使报错&#

猜你喜欢

转载自blog.csdn.net/weixin_44593822/article/details/106890000