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强口令检测算法,结合实例形式分析了Python针对密码口令强度检测的相关算法实现技巧,需要的朋友可以参考下
    2020-02-02
  • NumPy数组排序、过滤与随机数生成详解

    NumPy数组排序、过滤与随机数生成详解

    这篇文章主要详细给大家介绍了NumPy数组排序、过滤与随机数生成,文中通过代码示例给大家讲解的非常详细,对大家学习NumPy有一定的帮助,需要的朋友可以参考下
    2024-05-05
  • python从入门到实践之组合数据类型

    python从入门到实践之组合数据类型

    这篇文章主要为大家介绍了python组合数据类型,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • Numpy ndarray 多维数组对象的使用

    Numpy ndarray 多维数组对象的使用

    这篇文章主要介绍了Numpy ndarray 多维数组对象的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • pytorch的backward()的底层实现逻辑详解

    pytorch的backward()的底层实现逻辑详解

    自动微分是一种计算张量(tensors)的梯度(gradients)的技术,它在深度学习中非常有用,这篇文章主要介绍了pytorch的backward()的底层实现逻辑,需要的朋友可以参考下
    2023-11-11
  • pytorch Variable与Tensor合并后 requires_grad()默认与修改方式

    pytorch Variable与Tensor合并后 requires_grad()默认与修改方式

    这篇文章主要介绍了pytorch Variable与Tensor合并后 requires_grad()默认与修改方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • 关于python常见异常以及处理方法

    关于python常见异常以及处理方法

    这篇文章主要介绍了关于python常见异常以及处理方法,python用异常对象(exception object)来表示异常情况。遇到错误后,会引发异常,需要的朋友可以参考下
    2023-04-04
  • python对于requests的封装方法详解

    python对于requests的封装方法详解

    今天小编就为大家分享一篇python对于requests的封装方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • 如何用Python徒手写线性回归

    如何用Python徒手写线性回归

    这篇文章主要介绍了如何用Python徒手写线性回归,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2021-01-01
  • pytorch如何保存训练模型参数并实现继续训练

    pytorch如何保存训练模型参数并实现继续训练

    这篇文章主要介绍了pytorch如何保存训练模型参数并实现继续训练问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09

最新评论