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

 更新时间:2021年11月12日 10:46:37   作者:Swayzzu  
这篇文章主要为大家介绍了python计算机视觉opencv卡号识别的实现示例详解,有需要的朋友可以借鉴参考下 希望能够有所帮助,祝大家多多进步

模板图片如下:

需识别的图片如下:

一、模板预处理

1.将模板设置为二值图

2.检测模板的轮廓

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

排序的函数如下:

排序并存储:

4.备注

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

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

二、图片预处理

1.初始化卷积核

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

2.图片预处理第一部分

3.图像预处理第二部分

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

三、轮廓处理

1.大轮廓过滤

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

2.小轮廓分割

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

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

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

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

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

相关文章

  • 浅析Python 序列化与反序列化

    浅析Python 序列化与反序列化

    这篇文章主要介绍了Python 序列化与反序列化的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-08-08
  • python-docx文档格式修改方式

    python-docx文档格式修改方式

    使用python-docx库修改docx文档格式的两种方法:第一种是通过自定义函数设置段落和字体样式,第二种是预设Word中的样式后通过代码替换文档整体样式。这两种方式各有优缺点,第一种方法更灵活,而第二种方法可以更全面地保留格式细节
    2024-09-09
  • python+opencv实现论文插图局部放大并拼接效果

    python+opencv实现论文插图局部放大并拼接效果

    在做图像数据标注时,很难一次就做到精准标注,如果目标比较小,即使微调也难以做到精准,所以就需要另外一个窗口对标注区域进行局部放大以方便微调,这篇文章主要给大家介绍了关于python+opencv实现论文插图局部放大并拼接效果的相关资料,需要的朋友可以参考下
    2021-10-10
  • python使用bs4爬取boss直聘静态页面

    python使用bs4爬取boss直聘静态页面

    这篇文章主要介绍了python如何使用bs4爬取boss直聘静态页面,帮助大家更好的理解和学习爬虫,感兴趣的朋友可以了解下
    2020-10-10
  • python使用socket连接远程服务器的方法

    python使用socket连接远程服务器的方法

    这篇文章主要介绍了python使用socket连接远程服务器的方法,涉及Python中socket通信的基本技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • python判断文件是否存在,不存在就创建一个的实例

    python判断文件是否存在,不存在就创建一个的实例

    今天小编就为大家分享一篇python判断文件是否存在,不存在就创建一个的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • python中的Pillow常用功能详解

    python中的Pillow常用功能详解

    Pillow是一个强大的图像处理库,支持多种图像操作,如打开、保存、裁剪、调整大小、旋转、翻转、过滤、合成、添加文字、调整模式和创建缩略图,本文介绍python中的Pillow常用功能,感兴趣的朋友一起看看
    2025-02-02
  • 使用Python点云生成3D网格

    使用Python点云生成3D网格

    本文主要介绍了使用Python点云生成3D网格,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • python 定义给定初值或长度的list方法

    python 定义给定初值或长度的list方法

    今天小编就为大家分享一篇python 定义给定初值或长度的list方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • python re模块的高级用法详解

    python re模块的高级用法详解

    这篇文章较详细的给大家介绍了python re模块的高级用法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-06-06

最新评论