让代码更简单

VisionPro如何使用仿射变换工具

重要:本文最后更新于2020-04-15 09:03:47,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

仿射变换工具变换包含在共矩形仿射对象中的图像区域,并生成新的矩形输出图像。该工具移除仿射矩形维度中存在的任何旋转和倾斜的效果。例如,下图显示了被检查对象周围的仿射矩形以及仿射变换工具生成的输出图像:

VisionPro如何使用仿射变换工具

VisionPro如何使用仿射变换工具

此外,如果要减少或放大矩形包含的功能,该工具还允许您指定其他缩放因子。该工具还可用于创建输入图像的镜像,其中输出图像切换坐标系。

当感兴趣的对象可以从一个图像旋转到下一个图像时,可以使用仿射变换工具调整输入图像的区域,并且希望使用不允许太多旋转的视觉工具(如CNLSearch工具)分析图像。

使用Fixture Tool

在许多视觉应用中,被检查对象的位置可以从一个检查转移到下一个检查。如果仿射变换工具不自动调整其位置和旋转来进行补偿,那么它可以很容易地生成不包含所需特征的输出图像。使用仿射变换工具的应用程序通常使用Fixture工具来允许应用程序补偿要检查的对象从一个采集图像到下一个图像的位置、旋转和缩放变化。

以下过程创建一个QuickBuild应用程序,该应用程序使用Fixture工具控制输入图像上仿射变换工具的方向:

  1. 配置作业的图像源以使用文件Cognex\VisionPro\Image s\bracket_std.idb中的图像。
  2. 创建一个CogPMAlign工具,并从图像源为其提供输出图像。
  3. 运行图像文件工具一次,为PMAlign工具提供一个输入图像。
  4. 配置PMAlign工具以定位支架的右上角,如下图所示

    VisionPro如何使用仿射变换工具

    VisionPro如何使用仿射变换工具

  5. 在PM Align编辑控件的Run Params选项卡上,启用Angle参数并使用默认的-45到45度旋转。
  6. 将Fixture工具添加到应用程序中,并为其提供与图像文件工具相同的输出图像。
  7. 将PM Align工具的GetPose输出端子链接到Fixture工具的RunParams.UnfixturedFromFixturedTransform输入端子。
  8. 添加一个仿射变换工具,并给它一个来自Fixture工具的输出图像,如下图所示

    VisionPro如何使用仿射变换工具

    VisionPro如何使用仿射变换工具

  9. 打开仿射变换工具编辑控件。局部图像窗口应该显示一个括号和默认的仿射矩形,如下图所示

    VisionPro如何使用仿射变换工具

    VisionPro如何使用仿射变换工具

  10. 为了方便起见,您可能需要运行应用程序,直到本地图像窗口显示不带旋转的括号,如下图所示

    VisionPro如何使用仿射变换工具

    VisionPro如何使用仿射变换工具

  11. 调整仿射变换的图形,直到它紧紧包围括号,如下图所示

    VisionPro如何使用仿射变换工具

    VisionPro如何使用仿射变换工具

  12. 运行应用程序多次。仿射矩形的位置和旋转应根据括号的位置和旋转而改变。但是,如果切换到OutputImage缓冲区,则括号应显示为未旋转,如下图所示

    VisionPro如何使用仿射变换工具

    VisionPro如何使用仿射变换工具

现在可以分析来自仿射变换工具的输出图像,而不考虑每个采集图像中可能存在的任何旋转

切换坐标系

默认情况下,仿射矩形生成使用左手坐标系的输出图像,在该坐标系中,顺时针方向移动时会发生正旋转。通过指定90度(正或负)的旋转值和180度(正或负)的倾斜值,该工具生成的输出图像将使用右手坐标系,在该坐标系中,逆时针方向移动时会发生正旋转。

在仿射变换工具编辑控件的“设置”选项卡上设置旋转和倾斜值,如下图所示

VisionPro如何使用仿射变换工具

VisionPro如何使用仿射变换工具

感觉很棒!可以赞赏支持我哟~

15 打赏

评论 (1)

登录后评论
不错,看不懂,为啥没中文
QQ咨询 邮件咨询 狗哥推荐