Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI
This Document is not yet Rated  Rate this Document

怎么使用模式匹配?

主要软件: LabVIEW Modules>>Vision Development Module
主要软件版本: N/A
主要软件修正版本: N/A
次要软件: N/A

问题: 我应该怎么使用模式匹配的相关函数?为什么我在做模式匹配的时候会碰到“无效模板”的错误?


解答:

模式匹配可以在灰度图像中快速地定位与某一已知参考模式匹配的区域,模式通常也称为模型或者模板。当您使用模式匹配的时候,您首先必须建立一个参考的模板,以供机器视觉应用系统在每幅获取的图像中搜索这一模板,并且计算出相应的匹配分数。这个分数表征了其与模板的相似程度。模式匹配不会考虑模板的光亮度、污点、噪声和几何变形(位移、旋转或者缩放)。

以下是常见的模式匹配中出现的错误:
  1. IMAQ Match Pattern中使用了非法的模板信息(错误号: 1074395247)-:
    当您使用Vision Builder或者Vision Assistant创建一个模式匹配模板时,除了图像本身以外还保存了一些额外的信息,包括重叠信息、模式匹配模板信息和校准信息等。这些信息使得LabVIEW和Vision Builder知道模板是怎么获得的。当您在LabVIEW中使用IMAQ ReadFile VI打开这个模板时,这些额外的信息并没有随着图像本身传递。同样,当您使用IMAQ Write PNG File VI来创建一个模板时,这些额外的信息也没有随着图像保存,因此Vision Builder或者Vision Assistant不认识非法的模式匹配模板。

    LabVIEW:分别使用IMAQ Read Image And Vision Info VI 和 IMAQ Write Image And Vision Info VI来打开和创建模式匹配模板可以保留这些额外的信息。这些VI在Vision » Vision Utilities » Files子面板里

    Visual Basic:可以使用
    CWIMAQVision.WriteImageAndVisionInfo ( SourceImage, Path [, ColorPalette])
    创建一个包含匹配模板和校准信息等额外数据的图像。这些额外信息还包括重叠信息、模式匹配模板、校准信息和用户自定义数据等。
    可以使用
    CWIMAQVision.WriteImageAndVisionInfo ( SourceImage, Path [, ColorPalette])
    来读取包含额外信息的图像数据。这些外信息包括重叠信息、模式匹配模板、校准信息和用户自定义数据等使用WriteImageAndVisionInfo写入的信息。

    请注意:如果您正在使用IMAQ Vision Builder 6.1版本,请将NI IMAQ和IMAQ Vision软件升级到最新的版本。这个错误会在IMAQ Read Image and Vision Info函数不能正确读取模板信息的时候出现,特别是当Vision Builder和IMAQ Vision的版本不匹配的时候。

  2. 当选择一个较大的模式匹配模板是发生错误:
    您有可能会在使用IMAQ Vision 5.0或者6.0版本和Vision Builder/Vision Assistantz选择一个较大的模式匹配模板的时候碰到”system error“和“not a valid template“的错误信息。这个错误是由IMAQ Vision软件本身对模式匹配中的模板的大小的限制引起的。这个错误会在Vision 5.0、Vision 6.0和Vision 7.0中出现,在IMAQ Vision 7.0中,相应的错误信息为”The Template is Too Large.“对于这些IMAQ Vision版本,模式匹配模板最多只能有16,000个象素点,但是对模板的尺寸大小没有限制。

    这一限制在在Vision Development Module version 7.1中得到改善,在这个版本中对模板象素点的多少和尺寸的大小都没有限制。

  3. 错误信息:”The Contrast In The Template Is Too Low“:
    这个错误通常在所选定的区域不能提供足够多的信息来创建一个有效的模板时产生,而很多时候是因为图像没有足够高的对比度。另外,这个错误也有可能在所选定的区域太小的时候产生。有两种解决这个错误的方法:
    • 提高图像的对比度。如果您选用这种方法,那么您必须同时提高其他用于模式匹配的图像的对比度,以得到同样的结果。
    • 增加模板的尺寸。以保证能为创建一个有效的模板提供足够的信息。


  4. 在使用CVS和Vision Assistant进行模式匹配时出现图像类型不兼容的错误(错误号-1074396077):
    为了保证模式匹配正常进行,获取的图像和匹配的模板图像必须有相同的位深度。例如,如果您获取的图像是16-bit的,但是您的模板图像是8-bit的,纳闷LabVIEW就会报告以上的错误并且不能正常执行匹配。

    对于NI-IMAQ for IEEE 1394和相应的”火线“接口摄像头:您可以通过Measurement & Automation Explorer(MAX)来调整所获取的图像的位深度。在MAX中的Devices and Interfaces » NI-IMAQ IEEE 1394 Devices中选择您的摄像头,您就可以在右边的窗口中看到摄像头的信息和设置参数,您可以在这里查找是否有设置位深度的参数。如果有,那么您就可以根据匹配模板的位深度来调整摄像头的位深度参数。如果在修改了位深度之后LabVIEW还是报告同样的错误,那么您可能还要修改字节顺序(Byte Order)和颜色编码(Color coding)。

    如果您不能调整摄像头的位深度,那么您可以根据获取图像的位深度来重新建立一个模板图像。

  5. 在模式匹配的时有部分匹配对象落在旋转的感兴趣区域(ROI)之外:
    模式匹配算法只能在一个非旋转的矩形ROI中搜索匹配对象。当所选取的ROI不能满足这个要求时,模式匹配算法会首先以ROI最小和最大的X、Y坐标来重新定义搜索区域,而不使用原先的ROI。

    解决办法:
    • 旋转您要进行模式匹配的原始图像,以得到一个非旋转的ROI。如果您使用这种办法的话,那么你还需要让模板重新被识别或者在IMAQ Setup Match Pattern.VI的Match Mode参数中选择”Rotation Invariant“。
    • 另外一个解决办法是首先把图像选定的ROI以外的区域用黑色屏蔽,虽然模式匹配算法仍然会重新定义搜索区域,但是可以保证在先前选定的ROI以外找不到匹配的对象。


  6. 因为Windwos用户权限不足引起的各种错误:
    用户必须有Windows管理员(Administrator)权限。因为在Vision Builder for Automated Inspection和Vision Assistant中获取的图像会暂存在安装路径的临时文件夹下,IMAQ Vision会用到Windows系统文件夹下的某些动态链接库;所以如果用户没有读写系统文件夹的权限,那么即使所有设置包括模板信息是合法的,也会在运行模式匹配时碰到”Not a valid template“等错误。

    相关链接:
    Image Acquisition and Vision Support Page


    Knowledge Base 368N2NF: What is the Difference Between IMAQ Find Pattern 2 and IMAQ Match Pattern 2?

    附件:





    报告日期: 08/06/2006
    最近更新: 05/04/2007
    文档编号: 3EIFDBCH

    Your Feedback! poor Poor  |  Excellent excellent   Yes No
     Document Quality? 
     Answered Your Question? 
      1 2 3 4 5
    Please Contact NI for all product and support inquiries.submit