VisionPro 脚本中设置CogBlobTool工具区域

1:VisionPro程序如下图:

2:高级脚本中编写代码

  public override bool GroupRun(ref string message, ref CogToolResultConstants result)
  {
    // To let the execution stop in this script when a debugger is attached, uncomment the following lines.
    // #if DEBUG
    // if (System.Diagnostics.Debugger.IsAttached) System.Diagnostics.Debugger.Break();
    // #endif
    
    //设置圆形区域参数
    CogCircle CogCircle1 = new CogCircle();
    CogCircle1.CenterX = 392;
    CogCircle1.CenterY = 263;
    CogCircle1.Radius = 20;
    
    //设置方形区域参数
    CogPolygon CogPolygon1 = new CogPolygon();
    CogPolygon1.NumVertices = 4;
    CogPolygon1.SetVertexX(0, 372);
    CogPolygon1.SetVertexX(1, 412);
    CogPolygon1.SetVertexX(2, 412);
    CogPolygon1.SetVertexX(3, 372);
    CogPolygon1.SetVertexY(0, 243);
    CogPolygon1.SetVertexY(1, 243);
    CogPolygon1.SetVertexY(2, 283);
    CogPolygon1.SetVertexY(3, 283);    
    
    CogBlobTool CogBlobTool1 = mToolBlock.Tools["CogBlobTool1"] as CogBlobTool;
   // CogBlobTool1.Region = CogCircle1;  //设置Blob搜寻区域圆形
    CogBlobTool1.Region = CogPolygon1;  //设置Blob搜寻区域方形
    
    
    // Run each tool using the RunTool function
    foreach(ICogTool tool in mToolBlock.Tools)
      mToolBlock.RunTool(tool, ref message, ref result);

    return false;
  }

以下是一个获取CogBlobTool工具Blob的x和y坐标的C#脚本示例: ```csharp using System; using Cognex.VisionPro; using Cognex.VisionPro.Blob; class Program { static void Main(string[] args) { // 创建一个CogBlobTool实例 CogBlobTool blobTool = new CogBlobTool(); // 设置BlobTool参数 blobTool.RunParams.ExpectedCount = 1; blobTool.RunParams.Mode = CogBlobProcessingModeConstants.ProcessGrayScale; // 加载图像 CogImage8Grey image = new CogImage8Grey(); image.Load(@"C:\Image.bmp"); blobTool.InputImage = image; // 运行BlobTool blobTool.Run(); // 获取Blob的x和y坐标 if (blobTool.Results != null && blobTool.Results.Count > 0) { CogBlobResult blobResult = blobTool.Results[0]; double x = blobResult.CenterOfMassX; double y = blobResult.CenterOfMassY; Console.WriteLine("Blob的x坐标:{0}", x); Console.WriteLine("Blob的y坐标:{0}", y); } else { Console.WriteLine("未检测到Blob"); } Console.ReadKey(); } } ``` 在这个示例,我们首先创建了一个CogBlobTool实例,然后设置BlobTool的参数和输入图像。接着,我们调用了Run方法来运行BlobTool,并且通过Results属性获取Blob的结果。最后,我们使用CenterOfMassX和CenterOfMassY属性获取Blob的x和y坐标,并将它们打印到控制台上。 需要注意的是,CogBlobTool工具VisionPro软件的一部分,所以你需要安装VisionPro才能使用它。此外,你还需要在程序引用CogBlobToolCogImage8Grey这两个类所在的命名空间。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值