600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > VisionPro实现测量工件内圆尺寸

VisionPro实现测量工件内圆尺寸

时间:2023-06-01 23:22:49

相关推荐

VisionPro实现测量工件内圆尺寸

步骤:

1.打开VisionPro并加载采集的离线工件图片;

2.拖入找圆工具;

3.使用找圆工具找到工件内圆,并计算测量距离;

附代码如下:

#region namespace imports

using System;

using System.Collections;

using System.Drawing;

using System.IO;

using System.Windows.Forms;

using Cognex.VisionPro;

using Cognex.VisionPro.ToolBlock;

using Cognex.VisionPro3D;

using Cognex.VisionPro.ImageProcessing;

using Cognex.VisionPro.Caliper;

#endregion

public class CogToolBlockAdvancedScript : CogToolBlockAdvancedScriptBase

{

#region Private Member Variables

private Cognex.VisionPro.ToolBlock.CogToolBlock mToolBlock;

private double Radius = 0;

private CogFindCircleTool CogFindCircleToolObject;

private CogCirclemyCircle;

#endregion

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.

// Run each tool using the RunTool function

foreach(ICogTool tool in mToolBlock.Tools)

mToolBlock.RunTool(tool, ref message, ref result);

CogFindCircleToolObject = (CogFindCircleTool) mToolBlock.Tools["CogFindCircleTool1"];

myCircle = CogFindCircleToolObject.Results.GetCircle();

Radius = double.Parse(myCircle.Radius.ToString("0.00"));

return false;

}

#region When the Current Run Record is Created

public override void ModifyCurrentRunRecord(Cognex.VisionPro.ICogRecord currentRecord)

{

}

#endregion

#region When the Last Run Record is Created

public override void ModifyLastRunRecord(Cognex.VisionPro.ICogRecord lastRecord)

{

CogGraphicLabel ResultLabel = new CogGraphicLabel();

string labelStr = string.Format("Radius={0:F2}pixel", Radius);

ResultLabel.SetXYText(myCircle.CenterX, myCircle.CenterY, labelStr);

ResultLabel.Color = Cognex.VisionPro.CogColorConstants.Blue;

mToolBlock.AddGraphicToRunRecord(ResultLabel, lastRecord, "CogImageConvertTool1.OutputImage", "script");

}

#endregion

#region When the Script is Initialized

public override void Initialize(Cognex.VisionPro.ToolGroup.CogToolGroup host)

{

// DO NOT REMOVE - Call the base class implementation first - DO NOT REMOVE

base.Initialize(host);

// Store a local copy of the script host

this.mToolBlock = ((Cognex.VisionPro.ToolBlock.CogToolBlock)(host));

}

#endregion

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。