这篇教程Python OpenCV实现识别信用卡号教程详解写得很实用,希望能帮到您。 今天的博文分为三个部分。 在第一部分中,我们将讨论 OCR-A 字体,这是一种专为辅助光学字符识别算法而创建的字体。 然后我们将设计一种计算机视觉和图像处理算法,它可以: - 本地化信用卡上的四组四位数字。
- 提取这四个分组中的每一个,然后单独分割 16 个数字中的每一个。
- 使用模板匹配和 OCR-A 字体识别 16 个信用卡数字中的每一个。
最后,我们将看一些将信用卡 OCR 算法应用于实际图像的示例。
通过与 OpenCV 模板匹配的 OCR
在本节中,我们将使用 Python + OpenCV 实现我们的模板匹配算法来自动识别信用卡数字。 为了实现这一点,我们需要应用许多图像处理操作,包括阈值、计算梯度幅度表示、形态学操作和轮廓提取。这些技术已在其他博客文章中用于检测图像中的条形码并识别护照图像中的机器可读区域。 由于将应用许多图像处理操作来帮助我们检测和提取信用卡数字,因此我在输入图像通过我们的图像处理管道时包含了许多中间屏幕截图。 这些额外的屏幕截图将让您更深入地了解我们如何能够将基本图像处理技术链接在一起以构建计算机视觉项目的解决方案。 让我们开始吧。 打开一个新文件,命名为 ocr_template_match.py ,我们将开始工作: # import the necessary packagesfrom imutils import contoursimport numpy as npimport argparseimport imutilsimport cv2 要安装/升级 imutils ,只需使用 pip : pip install --upgrade imutils 注意:如果您使用 Python 虚拟环境(就像我所有的 OpenCV 安装教程一样),请确保首先使用 workon 命令访问您的虚拟环境,然后安装/升级 imutils 。 现在我们已经安装并导入了包,我们可以解析我们的命令行参数: # construct the argument parser and parse the argumentsap = argparse.ArgumentParser()ap.add_argument("-i", "--image", required=True, help="path to input image")ap.add_argument("-r", "--reference", required=True, help="path to reference OCR-A image")args = vars(ap.parse_args()) 建立了一个参数解析器,添加两个参数,然后解析它们,将它们存储为变量 args 。 两个必需的命令行参数是: python数据可视化使用pyfinance分析证券收益示例详解 python编程开发时间序列calendar模块示例详解
|