石鑫华视觉论坛

 找回密码
 注册会员
查看: 2791|回复: 0

[原创] NI Vision Assistant视觉助手图像处理教程 第10章 图像处理-Indentification识别 10.4 2D Barcode Reader

[复制链接]
  • TA的每日心情
    慵懒
    昨天 10:09
  • 签到天数: 3411 天

    连续签到: 13 天

    [LV.Master]2000FPS

    发表于 2020-3-14 14:42:57 | 显示全部楼层 |阅读模式 来自:广东省东莞市 联通
    NI Vision Assistant视觉助手图像处理教程 第10章 图像处理-Indentification识别 10.4 2D Barcode Reader二维码阅读器-基本概念

    NI Vision Assistant视觉助手教程

    第十章 图像处理-Indentification识别


    第四节 2D Barcode Reader二维码阅读器-基本概念二维码概述
    二维码通常有矩阵编码和多行条码两种模式。矩阵码是基于矩阵中方形、六边形或圆形的元素位置进行编码数据。多行条码编码数据是由多个堆叠的条码数据组成的。NI视觉目前支持PDF417、数据矩阵(Data Matrix)、QR码(QR Code)以及微型QR码(Micro QR Code)等几种二维码格式。
    二维码识别也包括两个阶段:
    l  粗定位阶段,用户可以在图像中指定一个ROI,以帮助定位二给码占用的位置。这个阶段是可选的,但是它可以提高第二阶段的性能,通过减少搜索区域的大小。
    l  一个定位和解码阶段,在此期间软件在ROI中搜索一个或多个二维码并解码每个二维码的位置。
    影响二维码识别的因素
    下面的因素可能导致错误在搜索和解码阶段或二维码识别过程中:
    l  图像分辨率非常低;
    l  非常大的水平或垂直亮度偏差;
    l  图像上沿着黑条方向的对比度低;
    l  很高的噪声或图像模糊;
    l  不一致的印刷或冲印技术,如代码元素不对齐、不一致的元素大小、或者是不一致的元素边界。
    l  在PDF417码中,一个空白区包含太小或包含太多的噪声。
    二维码识别概念-数据矩阵概念
    数据矩阵代码是一个矩阵,建立在一个正方形或矩形网格上,同时在矩阵的周围边界上有围绕着一个取景器模式。矩阵中的每个单元包含一个单一的数据单元。这些单元可以是方形的或圆形的。
    定位和解码数据矩阵代码需要最小单元大小为2.5个像素。定位和解码数据矩阵代码同时也需要至少一个单元宽度的空白区域围绕在代码的周围边界上。当然,一个更大近空白区域会增加定位成功的可能性。每个符号字符值被编码为一系列的数据单元,这些数据单元称为字码(Code Word)。
    数据矩阵代码使用两种错误检查和校正(ECC)方案中的一个。使用基于原始规范000到140的ECC方案的数据矩阵代码,这些代码使用卷积纠错方案和使用低效数据包装机制,通常只需要从ASCII字符集中的特定部分得到编码字符。使用基于ECC200方案的数据矩阵代码,使用里得-索罗门纠错算法(Reed-Solomon error correction algorithm)和一个更有效率的数据包装机制。ECC200方案同时允许生成多个连接的矩阵,从而可以编码更大的数据集。
    下面的图像显示了一个数据矩阵代码示例:
    [attach]8519[/attach]
    1 数据矩阵代码
    1 Quiet Zone空白区
    2 Finder Pattern取景器模式(用于定位)
    3 Clock Pattern记录模式
    4 Data Cell数据单元
    质量分级
    NI视觉可以根据代码满足某些参数来评估数据矩阵的矢量。对于每个参数,NI视觉返回以下字母等级:A、B、C、D或F。一个A表示代码满足一个特定参数的最高标准。一个F则表示对这个参数代码有最低的质量。
    NI视觉支持以下分级标准:
    l  ISO 16022
    l  ISO 15415
    l  AIM DPM
    ISO16022分级标准
    ISO16022使用下面的参数对数据矩阵分级。
    解码Decode
    符号对比度Symbol Contrast
    印刷增长Print Growth
    轴向不均匀AxialNonuniformity
    整体分级符号Overall GradeSymbol
    解码
    解码过程测试数据矩阵特征是否足够正确,当代码有最佳图像时。代码分配一个A或F,基于解码是否成功。解码过程定位并且定义图像中代码覆盖的区域,自适应地创建一个关于数据单元中心的栅格映射,并执行纠错。
    符号对比度
    符号对比度测试确定图像中明亮的和黑暗的像素是否有足够的对比并且始终清晰的遍及整个代码。所有像素通过它们的反射率值进行排序来确定最黑的10%以及最亮的10%。最黑的10%反射率的平均值与最亮的10%反射率的平均值会被计算。这两个平均值的差异即为符号对比度。
    下面的列表显示了符号对比度是如何分级的:
    l  A(4.0)是符号对比度≥70%;
    l  B(3.0)是符号对比度≥55%;
    l  C(2.0)是符号对比度≥40%;
    l  D(1.0)是符号对比度≥20%;
    l  F(0.0)是符号对比度<20%。
    下面的图像显示了一个拥有符号对比度值为8.87%的数据矩阵码,其返回分级为F。
    [attach]8520[/attach]
    2 分级为F的数据矩阵码


    购买主题 本主题需向作者支付 2 元 才能浏览
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    LabVIEW HALCON图像处理入门教程(24.09)
    石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
    《LabVIEW Vision函数实例详解2020-2024》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23/24

    QQ|石鑫华视觉论坛 |网站地图

    GMT+8, 2024-12-22 16:40

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表