一.思路与过程(解决问题)
本文采用模板匹配字符识别算法。
首先需要一个模板,数字样式和银行卡号的数字样式差别不大。
例如:
我有一张建行卡和一张农行卡,农行卡的6和9都带勾,对就像前面打出来的一样,但建行的卡却不带勾,有点像随意的手写。
这样就对模板提出了要求,两种卡应该用两种不同的模板。
操作过程中我找不到合适的模板,我又不会P图,所以我直接在word里敲了0123456789,然后调为初号并加粗最后截了个图。
然后又用电脑自带的画图自行给6和9加上了勾(强颜欢笑),以此来作为农行的模板。
1.模板预处理
转换为灰度图-->数字与背景对比不太明显的话可以腐蚀一下(腐蚀了高亮部分,即加粗了数字)-->二值化图像。
然后提取轮廓-->提取roi区域放入字典中,数字与序号(key)对应。
(1)bug解决:contours is not a numpy array,neither a scalar
在检查时想要画出轮廓,确总使报错&#