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

作者:Swayzzu 时间:2023-04-14 13:58:25 

模板图片如下:

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

需识别的图片如下:

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

一、模板预处理

1.将模板设置为二值图

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

2.检测模板的轮廓

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

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

排序的函数如下:

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

排序并存储:

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

4.备注

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

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

二、图片预处理

1.初始化卷积核

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

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

2.图片预处理第一部分

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

3.图像预处理第二部分

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

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

三、轮廓处理

1.大轮廓过滤

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

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

2.小轮廓分割

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

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

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

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

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

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

来源:https://blog.csdn.net/Swayzzu/article/details/120890150

标签:python,opencv,卡号识别,计算机视觉
0
投稿

猜你喜欢

  • SQL Server 2008 安装和配置图解教程(附官方下载地址)

    2024-01-12 20:28:17
  • 有关JS中Event对象的几点总结

    2009-03-06 12:36:00
  • JS中ESModule和commonjs介绍及使用区别

    2023-10-20 22:23:51
  • HTML和SEO基础知识:H标签全透视

    2010-09-21 16:45:00
  • python实现在遍历列表时,直接对dict元素增加字段的方法

    2021-08-10 05:44:15
  • python flask实现分页的示例代码

    2021-04-01 09:55:23
  • 网页设计的12种颜色

    2011-05-21 08:40:00
  • python3 mmh3安装及使用方法

    2021-08-02 00:31:05
  • Python_LDA实现方法详解

    2021-06-29 11:43:18
  • PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法

    2023-11-16 13:00:48
  • python爬取哈尔滨天气信息

    2023-12-10 22:28:05
  • 详解Golang中select的使用与源码分析

    2024-05-09 14:52:08
  • 通俗易懂详解Python基础五种下划线作用

    2024-01-01 06:36:22
  • vue获取data数据改变前后的值方法

    2024-04-30 10:35:10
  • Caffe卷积神经网络视觉层Vision Layers及参数详解

    2023-02-28 02:06:41
  • mysql delete 多表连接删除功能

    2024-01-21 15:02:41
  • python如何生成任意n阶的三对角矩阵

    2021-09-18 07:41:37
  • TensorFlow2.0:张量的合并与分割实例

    2022-12-02 13:44:49
  • Select count(*)、Count(1)和Count(列)的区别及执行方式

    2024-01-28 14:43:04
  • Windows下用py2exe将Python程序打包成exe程序的教程

    2021-07-11 23:03:17
  • asp之家 网络编程 m.aspxhome.com