LabVIEW中通过编程移动ROI 点击:5 | 回复:0



fjczd

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1465帖 | 125回
  • 年度积分:1374
  • 历史总积分:3898
  • 注册:2008年8月14日
发表于:2025-10-15 08:48:17
楼主

LabVIEW通过编程方式调整已生成的感兴趣区域(ROI)位置的完整解决方案,适用于 ROI 与目标轻微错位时的精准调整场景。

在 LabVIEW 视觉模块中,所有 ROI(无论形状是否相同,如矩形、圆形、多边形等)都统一存储在一个预定义簇(Cluster 中,该簇被称为ROI DescriptorROI 描述符)

该簇包含两类关键坐标信息,是实现 ROI 移动的核心数据基础:

  1. 全局矩形坐标(Global Rectangle

由 4 个数值组成,分别代表整个 ROI 的左边界、上边界、右边界、下边界位置,用于快速定位 ROI 组的整体范围。

  1. 单个 ROI 坐标数组

存储每个独立 ROI 的坐标数据,坐标含义随 ROI 形状变化(例如:矩形 ROI 包含左上角和右下角坐标,圆形 ROI 包含圆心和半径坐标)。

编程实现 ROI 移动

通过调用 Vision Utilities 中的专用 VI,可按以下 4 个步骤实现 ROI 移动,支持 “整体移动” 或 “部分移动” 两种场景:

步骤 1:打开 ROI 相关 VI 面板

  1. 在 LabVIEW 的 VI 框图窗口中,右键单击空白区域,打开 “函数面板(Function Panel)”;

  2. 依次展开路径:Vision and Motion >> Vision Utilities >> Region of Interest,即可看到所有 ROI 处理相关 VI(如解组、变换、重组等)。

步骤 2:(可选)拆分 ROI 组(仅部分移动时需执行)

若只需移动 ROI 组中的某几个 ROI(而非全部),需先将整体 ROI 描述符拆分为单个 / 多个子描述符:

  • 使用 VI:IMAQ Ungroup ROIs(ROI 解组)

功能:将包含多个 ROI 的 “整体 ROI 描述符” 拆分为多个 “单个 ROI 描述符”(输出为数组形式);

  • 筛选目标 ROI:从拆分后的数组中,选择需要移动的 ROI 描述符;

  • 后续操作:对筛选出的 ROI 描述符执行移动后,再用IMAQ Group ROIs(ROI 重组)将所有 ROI(包括未移动的)重新合并为一个整体描述符。

步骤 3:核心操作 —— 移动 ROI(IMAQ Transform ROI)

使用IMAQ Transform ROI VI 是实现 ROI 位置调整的关键,该 VI 通过 “基准参考(Base Reference)” 和 “新参考(New Reference)” 定义移动方向和距离:





楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师