欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > 传感器测量(图片流程)

传感器测量(图片流程)

2025/6/17 1:23:11 来源:https://blog.csdn.net/C6666888/article/details/147492736  浏览:    关键词:传感器测量(图片流程)

效果图

 

 

 

 

重点工具使用流程

CogFindLineTool工具

步骤一:使用找线工具将传感器左边特征给寻找出来;

 步骤二:使用找线工具将传感器右边特征给寻找出来;

 步骤三:使用找线工具将传感器上边特征给寻找出来;

 步骤四:使用找线工具将传感器下边特征给寻找出来;

CogIntersectLineLineTool工具

步骤一:将左边直线和上直线进行交叉处理;

 步骤二:将右边直线和上直线进行交叉处理;

 步骤三:将左边直线和下直线进行交叉处理;

步骤四:将右边直线和下直线进行交叉处理; 

CogCreateSegmentTool工具

步骤一:将右边直线和上直线进行交叉与左边直线和下直线进行交叉,实现右倾斜进行测量···

 步骤二:将右边直线和上直线进行交叉和右边直线和下直线进行交叉,实现右倾斜进行测量···

CogIntersectSegmentSegmentTool工具

将CogCreateSegmentTool工具1和CogCreateSegmentTool工具2计算两条线段(Segment)的交点坐标,然后计算出传感器所需要的宽高。

传感器脚本

#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.PMAlign;
using Cognex.VisionPro.CalibFix;
using Cognex.VisionPro.Caliper;
using Cognex.VisionPro.Dimensioning;
#endregionpublic class CogToolBlockAdvancedScript : CogToolBlockAdvancedScriptBase
{#region Private Member Variablesprivate Cognex.VisionPro.ToolBlock.CogToolBlock mToolBlock;private CogDistanceSegmentLineTool width;private CogDistanceSegmentLineTool length;private CogGraphicLabel widthLabel;private CogGraphicLabel lengthLabel;#endregion/// <summary>/// Called when the parent tool is run./// Add code here to customize or replace the normal run behavior./// </summary>/// <param name="message">Sets the Message in the tool's RunStatus.</param>/// <param name="result">Sets the Result in the tool's RunStatus</param>/// <returns>True if the tool should run normally,///          False if GroupRun customizes run behavior</returns>public override bool GroupRun(ref string message, ref CogToolResultConstants result){width = new CogDistanceSegmentLineTool();length = new CogDistanceSegmentLineTool();widthLabel = new CogGraphicLabel();lengthLabel = new CogGraphicLabel();// 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// Run each tool using the RunTool functionforeach(ICogTool tool in mToolBlock.Tools)mToolBlock.RunTool(tool, ref message, ref result);width = mToolBlock.Tools["CogDistanceSegmentLineTool_width"]as CogDistanceSegmentLineTool;length = mToolBlock.Tools["CogDistanceSegmentLineTool_length"]as CogDistanceSegmentLineTool;widthLabel.Color = CogColorConstants.Green;lengthLabel.Color = CogColorConstants.Green;widthLabel.SetXYText(200, 200, "width:" + width.Distance.ToString("0.00"));lengthLabel.SetXYText(200, 250, "length:" + length.Distance.ToString("0.00"));return false;}#region When the Current Run Record is Created/// <summary>/// Called when the current record may have changed and is being reconstructed/// </summary>/// <param name="currentRecord">/// The new currentRecord is available to be initialized or customized.</param>public override void ModifyCurrentRunRecord(Cognex.VisionPro.ICogRecord currentRecord){}#endregion#region When the Last Run Record is Created/// <summary>/// Called when the last run record may have changed and is being reconstructed/// </summary>/// <param name="lastRecord">/// The new last run record is available to be initialized or customized.</param>public override void ModifyLastRunRecord(Cognex.VisionPro.ICogRecord lastRecord){mToolBlock.AddGraphicToRunRecord(widthLabel, lastRecord, "CogImageConvertTool1.OutputImage", "script");mToolBlock.AddGraphicToRunRecord(lengthLabel, lastRecord, "CogImageConvertTool1.OutputImage", "script");}#endregion#region When the Script is Initialized/// <summary>/// Perform any initialization required by your script here/// </summary>/// <param name="host">The host tool</param>public override void Initialize(Cognex.VisionPro.ToolGroup.CogToolGroup host){// DO NOT REMOVE - Call the base class implementation first - DO NOT REMOVEbase.Initialize(host);// Store a local copy of the script hostthis.mToolBlock = ((Cognex.VisionPro.ToolBlock.CogToolBlock)(host));}#endregion}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词