机器视觉MIL Mod匹配

qwer

发布日期: 2021-03-21 10:38:13 浏览量: 193
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

MIL几何模板查找器模块

MIL几何模板查找器模块是一组用于根据几何特征查找图案或模板的功能。该模块使用基于边缘的几何特征而不是像素到像素的相关性来查找模板。这样,与相关模式匹配相比,“模板查找器”模块具有多个优势,包括对照明变化(包括镜面反射)的更大容忍度,模板遮挡以及比例和角度的变化。

使用“模板查找器”模块可以定制搜索以适合应用程序的需求。您可以通过一系列角度和比例同时搜索任意数量的不同模板。您还可以使用Model Finder搜索不同种类的模板,包括从图像创建的模板(图像类型),从Edge Finder结果缓冲区创建的模板(Edge Finder类型),从Model Finder结果缓冲区创建的模板(Model Finder类型) ,模板是从之前的两个模板(合并类型)和综合模板合并而来的。合成模板可以是具有预定义形状的模板,也可以是从CAD文件定义的模板。

该模块为校准提供了完整的支持。可以在经过校准的真实世界中进行搜索,从而无需物理校正图像,即使在存在复杂失真的情况下也可以发现出现的情况,并以真实世界为单位计算结果。

该模块还允许您从文件或内存流中还原Model Finder上下文,或将Model Finder上下文保存到文件或内存流中。

通常可以使用MedgeInquire()查询所有控件设置。

为了使新的上下文设置生效,您必须使用MedgeCalculate()计算设置。

请注意,某些控件设置具有计算后的限制。有关更多信息,请参见第9章:Edge Finder中“计算和检索结果”部分中的“计算后”子部分。

通过将ControlType参数设置为M_INTERACTIVE,可以交互设置控件类型。

以下步骤提供了使用MIL几何模板查找器模块的基本方法:

  • 使用MmodAlloc()分配模板查找器上下文

  • 使用MmodDefine()或MmodDefineFromFile()定义模板并将其添加到此Model Finder上下文中

  • 如有必要,请使用MmodMask()掩盖模板中任何不相关,不一致或无特征的区域

  • 使用对MmodControl()的连续调用,为上下文和单个模板指定所需的搜索设置

  • 使用MmodPreprocess()预处理Model Finder上下文

  • 使用MmodAllocResult()分配结果缓冲区以保存搜索结果

  • 使用MmodFind()在目标中搜索目标中模板的出现情况

  • 使用MmodGetResult()从结果缓冲区中检索所需的结果

  • 如有必要,请使用MmodSave()保存您的Model Finder上下文

  • 使用MmodFree()释放所有分配的对象

有关使用校准的模板源图像和目标的信息,请参阅本章后面的“校准”部分。

基本概念

“模板查找器”模块的基本概念和词汇约定为:

  • 活动边缘:用于构成几何模板而不会被掩盖的边缘,并在目标中进行搜索

  • 边界框:完全包围模板所有边缘的最小矩形

  • :构成边的一组连接的Edgel

  • 边缘:描绘边界的曲线,可以根据图像中的强度转变来建立边界。在“模板查找器”中,边被视为链及其特征

  • Edgel:边缘内的基本点(或边缘元素)

  • 模板:该信息定义了要在目标中找到的活动边缘的模式以及用于进行搜索的搜索设置

  • 模板箱:划定模板边界的框。本质上,模板框是边缘加边界的边界框。对于图像类型和Edge Finder类型的模板,在定义模板时会指定模板框的大小。对于合成模板,可以在定义模板后调整边距

  • 模板查找器上下文:您要查找的所有模板的容器。使用“模板查找器”上下文,可以设置适用于搜索算法的全局搜索设置

  • 模板图像:对于图像类型和Edge Finder类型的模板,模板图像是模板源图像中已定义模板的区域的副本。请注意,“边缘查找器”类型模板的模板源图像是结果缓冲区的图像源。对于合成模板,模板图像是模板的图像表示(边缘图)

  • 模板面具:用于定义模板中不相关,不一致或无特征区域的二进制图像,因此仅将相关的模板详细信息用于搜索

  • 模板原点:模板坐标系中的点被视为(0,0)

  • 模板源:模板边缘的直接来源。例如,对于Edge Finder类型的模板,模板源是Edge Finder结果的缓冲区

  • 模板源图像:从中定义图像类型模板或从中提取边缘查找器类型模板的边缘的图像

  • 发生:在目标中找到的模板的实例

  • 分数:在事件中发现的模板中活动边缘的度量,由这些公共边缘的位置偏差加权

  • 综合模板:具有预定义形状(例如圆形或正方形)或从CAD类型的文件定义的模板

  • 目标:在其中搜索模板出现的图像或结果缓冲区

  • 目标分数:在事件中发现的原始模板中不存在的边缘的度量,由公共边缘的位置偏差加权

  • 目标边缘:目标中的边缘

上传的附件 cloud_download 新建文本文档.txt ( 0.02kb, 0次下载 )

keyboard_arrow_left上一篇 : 分布式并行计算 决策树的原理及简单应用 : 下一篇keyboard_arrow_right



qwer
2021-03-20 13:27:51
You can also search within the full angular range of 360� from the nominal angle specified with M_ANGLE. Use the MmodControl()�M_ANGLE_DELTA_POS and M_ANGLE_DELTA_NEG control types to specify the angular range in the counter-clockwise and clockwise direction from the nominal angle, respectively; the default for both is 180�. The angular range limits the possible angles which can be returned as results for an occurrence. Note that the actual angle of the occurrence does not affect search speed. If you need to search for a model at discrete angles only (for example, at intervals of 90 degrees), it is typically more efficient to define several models with different expected angles, than to search through the full angular range. By default, calculations specific to angular-range search strategies are enabled. If you expect that the occurrences sought are close to the specified nominal angle, you can disable these calculations using MmodControl() with M_SEARCH_ANGLE_RANGE set to M_DISABLE. When disabled, you must specify a good nominal angle for each model, which is within the model's angular range. You can restrict which candidates are returned as occurrences by narrowing the angular-range. Note that M_SEARCH_ANGLE_RANGE must be enabled to search for a rotation-invariant non-synthetic model (for example, an image-type model of a circle).

发送私信

2
文章数
7
评论数
最近文章
eject