VisionPro尺寸测量代码

2025-10-20  本文已影响0人  大龙10

一、核心概念与开发模式

VisionPro 提供两种主要的开发模式,理解它们至关重要:

1、QuickBuild(图形化配置界面):

2、C# .NET API(代码集成):

标准工作流是:在 QuickBuild 中调试工具 → 将 .vpp 文件保存为“作业” → 在 C# 项目中加载并运行该作业。

二、开发环境准备

1、安装软件:

2、创建 C# 项目:

3、添加引用:

三、C# 代码实现:尺寸测量

using Cognex.VisionPro;
using Cognex.VisionPro.PMAlign;
using Cognex.VisionPro.Caliper;
using Cognex.VisionPro.Display;

// 1. 加载之前在QuickBuild中创建并调试好的Job文件
CogJobManager myJobManager = new CogJobManager();
myJobManager.Jobs.LoadFromFile(@"C:\VisionJobs\MyMeasurementJob.vpp");
ICogJob myJob = myJobManager.Jobs[0];

// 2. 获取图像(例如从相机采集或从文件加载)
CogImage8Grey myImage = new CogImage8Grey(@"C:\Images\part01.bmp");
// 将图像传递给Job的输入
myJob.Inputs["InputImage"].Value = myImage;

// 3. 运行Job
myJob.Run();

// 4. 获取结果
// 假设你的CaliperTool在Job中的名字是 "CogCaliperTool1"
ICogTool caliperTool = myJob.Tools["CogCaliperTool1"];
if (caliperTool.RunStatus.Result == CogToolResultConstants.Accept)
{
    // 获取测量结果
    CogCaliperTool resultTool = caliperTool as CogCaliperTool;
    if (resultTool != null && resultTool.Results.Count > 0)
    {
        // 获取第一个边缘对的距离(如果是测量孔距、宽度等)
        double measuredDistance = resultTool.Results[0].Distance;
        Console.WriteLine($"Measured Distance: {measuredDistance:F3} pixels");

        // 通常需要将像素距离转换为物理距离(毫米)
        // double calibrationRatio = 0.02; // 例如,每个像素代表0.02mm
        // double physicalDistance = measuredDistance * calibrationRatio;
        // Console.WriteLine($"Physical Distance: {physicalDistance:F3} mm");
    }
}

// 5. 【可选】在CogDisplay控件中显示图像和结果
cogDisplay1.Image = myImage;
cogDisplay1.StaticGraphics.AddList(
    myJob.Tools["CogCaliperTool1"].Results[0].CreateResultGraphics(
        CogCaliperResultGraphicConstants.Midpoint | 
        CogCaliperResultGraphicConstants.Edges),
    "MeasurementResults");

上一篇 下一篇

猜你喜欢

热点阅读