新闻动态

python计算机视觉opencv卡号识别示例详解

发布日期:2021-12-11 18:23 | 文章来源:gibhub

模板图片如下:

需识别的图片如下:

一、模板预处理

1.将模板设置为二值图

2.检测模板的轮廓

3.对模板轮廓排序,并将数字和轮廓一一对应,以字典存储

排序的函数如下:

排序并存储:

4.备注

①每一个数字对应的是二值图截出来的那个数字图的矩阵,共10个。

②对每一个数字进行了尺寸的设置,其实多大都行,只要后面匹配计算数值的时候设置成和模板一样的就行。

二、图片预处理

1.初始化卷积核

在后面对图像进行形态学运算的时候会用到

2.图片预处理第一部分

3.图像预处理第二部分

最终目的是把卡片上面的数字部分的坐标选出来,因此,在图像处理过程中,只需要把所有轮廓都画出来,即可,后面会对轮廓进行处理。

三、轮廓处理

1.大轮廓过滤

由于数字的轮廓是拥有类似的长宽比,因此每一个轮廓的坐标得到的近似矩形,它的长宽比应该是相似的,根据这个特性,选择出来我们所需要的大轮廓,并把坐标及长宽信息以元组形式保存起来。

2.小轮廓分割

以上的循环, 是把每一个大轮廓(包含4个数字)切割成4个小轮廓,每一个数字一个轮廓。同样使用切割大轮廓的方法并按照轮廓的横坐标进行排序。

在上面的循环内,继续补充下面的循环:

以上的循环是在上一个大循环之内的。是对于每一个数值进行计算。通过找到矩形,并设置成和模板一样的大小,和模板进行匹配,得到分数。选择分数最高的那个结果的索引作为结果,索引其实就是那个目标数字。

最后直接在原图上画出来框,并把数字填上去,位置相对于卡片数字有一个15的位移。

以上就是python计算机视觉opencv卡号识别示例详解的详细内容,更多关于python计算机视觉opencv卡号识别的资料请关注本站其它相关文章!

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部