一、 摘要
此应用功能为自动识别并获取银行卡卡号,通过导入需要识别的银行卡图片,以及跟银行卡上卡号的数字相一致的数字模型,则可以成功实现识别并获取银行卡卡号的功能。如果你对此感兴趣的话,下面将会详细介绍具体的开发过程。

二、 引言
这是我作为小白学习Python了解的第一个Opencv项目,所以文章多有不足之处,愿可以多多指点,本人虚心求教,也可以一起学习哦!!!!
1)首先代码的环境是基于Anaconda3(Python2.7)+Opencv(python)+Eclipse(pydev),具体的安装过程可以参照参考文献链接里的第一个视频,遇到问题不要着急多查多试一定能解决的。
2)代码的应用意义旨在快速自动、准确、识别、获取卡号信息,取代了以往人工抄写的方式,可以提高卡号信息的获取正确率以及工作的时效。
3)本代码虽然不需要太深入了解Opencv相关知识,但需提前掌握以下知识点的学习
a.图像的基本操作(图像数据的读取、显示、保存、属性打印等等)、截取部分图像数据、颜色通道提取、边界填充、数值计算
b.图像阈值、图像平滑(均值滤波、方框滤波、高斯滤波等等)
c.图像形态学处理(腐蚀操作、膨胀操作、开运算与闭运算、梯度运算、礼帽与黑帽)
d.图像梯度计算方法(Sobel算子、Scharr算子等)
e.边缘检测(Canny边缘检测算法)
f.图像金字塔、轮廓检测(检测、绘制轮廓、轮廓特征、轮廓近似)、模板匹配
g.直方图、傅里叶变换
4)代码功能要求实现:导入图一与图二之后,将得到图三所示数据!



三、 代码整体设计思想结构图:

四、 代码+模块分析+结果对应展示
1、模板处理代码部分




2、 银行卡图片处理代码

如图三所示,由于初始导入的银行卡片上背景信息复杂,所以先进行预处理以及一些形态学处理之后,则有利于我们进行准确检测我们需要的卡号轮廓信息的工作









五、应用使用步骤:
如图四所示,执行代码时需要在.py文件后加( -i images/银行卡图片文件名 -t ocr_a_reference.png),执行即可

六. 总结和展望图
小白一枚,初次尝试,希望自己能继续坚持完成后面一系列的学习,下次能达到自己一开始定下的目标

基于Python的Opencv 自动识别银行卡卡号系统相关推荐

  1. Python+OpenCV 识别银行卡卡号

    Python+OpenCV 识别银行卡卡号 今天尝试一下用python+OpenCV,使用模板匹配的方式做个简单地识别银行卡卡号(大部分参考网上的,自己改了一部分,代码写的有点不太好,但是思路很清晰, ...

  2. 学习Opencv+Python之银行卡卡号识别

    学习Opencv+Python之银行卡卡号识别 思路: 获取模板轮廓 获取模板中每个数字的轮廓 获取银行卡卡号轮廓 分别提取卡号中的每个数字的轮廓 对比识别 代码: # 导入工具包 from imut ...

  3. 使用Python,OpenCV进行银行支票数字和符号的OCR

    使用Python,OpenCV进行银行支票数字和符号的OCR(第一部分) 1. 效果图 2. 原理 2.1 MICR E-13B字体 2.2 从MICR E-13B参考图像中提取数字和符号 3. 源码 ...

  4. 基于Python的OpenCV+TensorFlow+Keras人脸识别实现

    前言:本节要讲的人脸识别主要是借鉴了 一位研究生前辈的文章 我只是在他的基础上进行了改动,让代码能在现在的TensorFlow2.X 等的环境下运行 先看一下效果图 完整工程及源代码请点击链接下载:人 ...

  5. 基于Python通过OpenCV实现的口罩识别系统理论篇

    基于Python通过OpenCV实现的口罩识别系统理论设计篇 一.项目实现环境 基于Python 3.8.1版本 opencv-python 4.2.0.34版本 需要自己下载OpenCV的库文件,添 ...

  6. 银联银行卡卡号java_编写Java程序,使用单例模式,创建可以生成银联借记卡号的工具类...

    编写Java程序,使用单例模式,创建可以生成银联借记卡号的工具类 编写Java程序,使用单例模式,创建可以生成银联借记卡号的工具类,银联借记卡号是一个 19 位的数字,卡号以"62" ...

  7. ubuntu16.04安装python.h_ubuntu16.04 下基于 Python 的 OpenCV 的安装

    ubuntu16.04 下基于 Python 的 OpenCV 的安装 这几天一直在学习基于 Python 的 OpenCV , 开发环境是在 Ubuntu16.04 下, 学习的心得就是基于 Pyt ...

  8. 前端JS校验银行卡卡号和身份证号码(附ES6版方法)

    1.银行卡卡号校验方法. function luhnCheck(bankno) { var lastNum = bankno.substr(bankno.length - 1, 1); //取出最后一 ...

  9. 银行卡卡号格式规范 每隔4为一个空格

    最近涉及到一个绑定银行卡的需求,需要格式化银行卡卡号.即:每隔4为做一个空格. 一个很简单的功能,大牛请自动忽略... 做个笔记O(∩_∩)O哈! bankCardNoEditTxt.addTextC ...

最新文章

  1. top命令的笔记补充2--如何将top信息后台运行并写入log
  2. python读取excel-蜗牛笔记-文章-Python读取Excel文件
  3. thinkcmf安装模板需要点击右键打开新页面的解决办法
  4. REVERSE-PRACTICE-JarvisOJ-4
  5. 职称计算机技巧集锦,2014职称计算机考试《Excel》使用技巧集锦(4)
  6. 将一张100元按如下要求C语言,aoa三一宝典(计算机二级考试)
  7. C#获取C# DLL中的指定接口的所有实现实例 - qq_19759475的博客 - CSDN博客
  8. 电脑文本文档怎么写html视频,如何保存网页内容?如文字、图片和视频
  9. Android 开发神器系列(工具篇)之 Android 屏幕共享工具
  10. 斑马Revit:“BIM等级考试证书”究竟要不要考?
  11. Vaa3d_DIADEM metric基本介绍_SWC拓扑结构量纲
  12. 1x pcie 速度_usb 3.0 速度 pciex1 pci 速度 各总线的速度
  13. python sorted lambda_详解python中的lambda与sorted函数
  14. python输入直角三角形两条直角边、输出斜边长_用C++输入直角三角形的两条直角边长,调用平方根函数sqrt来求斜边的长度。...
  15. 清理Windows Temp目录下的cab*文件
  16. OSG开发笔记(二十五):OSG漫游之CS移动、碰撞检测与跳跃
  17. tomcat+nginx配置htpps
  18. 网络安全-靶机dvwa之sql注入Low到High详解(含代码分析)
  19. NBA表格_python告诉你关于NBA得分王中一些有趣的数据
  20. mysql数据库教学系统设计_MySQL-教学系统数据库设计

热门文章

  1. 继续,黑苹果安装,HP 2560p, HP 8470p,微星 B85I
  2. 深度 | ICCV研讨会:实时SLAM的未来以及深度学习与SLAM的比较(附论文和PPT)
  3. 论文要求MATLAB坐标轴中的x和y轴标签中文用宋体,英文用其它字体,该如何解决?
  4. 甲骨文输掉诉讼官司 或失去美国国防部价值100亿美元云计算合同
  5. 34岁!100天!学会Java编程(Day12)——知识点串连
  6. microsoft office word 遇到问题需要关闭, 这是第二次遇到这个问题了
  7. WordPress站点基于IP无需账号密码登录的插件IP Based Login
  8. Selenium ChromeDriver 截图标记指定元素的方法
  9. Word2003入门动画教程79:在Word中插入Excel图表
  10. discuz sitemap.php,discuz教程:制作门户的百度sitemap的方法