You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cognex Vision Suite(ViDi):如何实现大ROI减去内部小ROI的区域去除

康耐视实现大ROI减去内部小ROI的方法
  • VisionPro工具链实现步骤

    1. 创建大矩形ROI(CogRectangleAffine)和内部小矩形ROI(同样用CogRectangleAffine),确保小ROI完全处于大ROI范围内。
    2. 调用CogRegionDifference工具,将大ROI设为InputRegionA,小ROI设为InputRegionB,工具会自动计算两个区域的差值,得到大框减去小框的目标区域。
    3. 将该差值区域直接作为后续图像处理步骤的输入ROI,不会改变原图像尺寸,仅限定有效处理范围。
  • EasyBuilder可视化操作流程

    1. 在图像界面框选大矩形ROI,保存为区域变量。
    2. 再框选内部小矩形ROI,保存为另一区域变量。
    3. 找到「区域运算」类工具,选择「区域差」功能,将大区域设为被减区域、小区域设为减去区域,生成新的目标ROI。
    4. 将新ROI关联到后续检测、测量等工具的ROI输入端口即可。
  • 关键注意点

    • 避免使用单纯的「ROI裁剪滤镜」,这类工具会直接输出裁剪后的图像块,而非保留原图像尺寸的区域掩码。
    • 若基于脚本开发(如C#调用VisionPro),可通过代码实例化工具实现:
      CogRectangleAffine bigRoi = new CogRectangleAffine();
      bigRoi.CenterX = 500;
      bigRoi.CenterY = 300;
      bigRoi.Width = 800;
      bigRoi.Height = 400;
      bigRoi.Rotation = 0;
      
      CogRectangleAffine smallRoi = new CogRectangleAffine();
      smallRoi.CenterX = 500;
      smallRoi.CenterY = 300;
      smallRoi.Width = 200;
      smallRoi.Height = 100;
      smallRoi.Rotation = 0;
      
      CogRegionDifference regionDiff = new CogRegionDifference();
      regionDiff.InputRegionA = bigRoi;
      regionDiff.InputRegionB = smallRoi;
      ICogRegion finalRoi = regionDiff.OutputRegion;
      

内容的提问来源于stack exchange,提问作者Francisco Cardão

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 12:30:40