新闻详情

新闻详情

首页 / 资讯中心 / 详情

颜色工具(Color)和复杂脚本基础

发布时间:2026/9/6 2:40:38来源:尧图网络
颜色工具(Color)和复杂脚本基础
实例1将这个图片里面的保险丝颜色分别出来并标注。最终样式用到了四个工具:CogToolBlock:可以包括其他工具并在里面写代码CogImageConvertTool:将颜色变为灰白CogPMAlignTool:图形选取工具CogCompositeColorMatchTool:分别颜色其中CogCompositeColorMatchTool 输入中默认没有Region,需要自己手动调出1.CogCompositeColorMatchTool中的区域→区域形状一般和CogPMAlignTool中一样2.添加终端里面的Region中的CenterX/Y和Rotation(其中Rotation是旋转的值)3.代码其中大部分为CogToolBlock脚本自带的需要写入会在旁边写中文标注#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.CompositeColorMatch; #endregion public class CogToolBlockAdvancedScript : CogToolBlockAdvancedScriptBase { #region Private Member Variables private Cognex.VisionPro.ToolBlock.CogToolBlock mToolBlock; #endregion //添加一个label方便显示文本 CogGraphicLabel label new CogGraphicLabel(); public override bool GroupRun(ref string message, ref CogToolResultConstants result) { #if DEBUG if (System.Diagnostics.Debugger.IsAttached) System.Diagnostics.Debugger.Break(); #endif // Run each tool using the RunTool function foreach(ICogTool tool in mToolBlock.Tools) mToolBlock.RunTool(tool, ref message, ref result); //定义五个颜色变量 int red 0; int yellow 0; int green 0; int blue 0; int orange 0; //调用CogPMAlignTool1方便使用 CogPMAlignTool pma mToolBlock.Tools[CogPMAlignTool1] as CogPMAlignTool; //调用CogCompositeColorMatchTool方便使用 CogCompositeColorMatchTool colorMatch mToolBlock.Tools[CogCompositeColorMatchTool1] as CogCompositeColorMatchTool; //创建CogRectangleAffine并将colorMatch.Region赋值给他 CogRectangleAffine region colorMatch.Region as CogRectangleAffine; //循环pma.Results里面的值并赋给item CogPMAlignResul类型 foreach(CogPMAlignResult item in pma.Results) { //将坐标赋值给region region.CenterX item.GetPose().TranslationX; region.CenterY item.GetPose().TranslationY; region.Rotation item.GetPose().Rotation; //重新运行一下colorMatch colorMatch.Run(); //拿出来colorMatch string colorName colorMatch.Result.ResultOfBestMatch.Color.Name; //判断颜色这边使用的是外面CogCompositeColorMatchTool1设置的Name if (colorName red) { red; } else if(colorName yellow) { yellow; } else if(colorName blue) { blue; } else if(colorName orange) { orange; } else if(colorName green) { green; } } //字符串拼接 String colorString String.Format(蓝色:{0},绿色{1},橙色:{2},红色:{3},黄色:{4}, blue, green, orange, red, yellow); //确定labelXY坐标和文本 label.SetXYText(240, 30, colorString); //label颜色 label.Color CogColorConstants.DarkRed; //确认字体 label.Font new Font(楷体, 20); 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 /// summary /// Called when the last run record may have changed and is being reconstructed /// /summary /// param namelastRecord /// The new last run record is available to be initialized or customized./param public override void ModifyLastRunRecord(Cognex.VisionPro.ICogRecord lastRecord) { //label是绘制的对象看需求可以更改lastRecord指定记录类型一般都是用这个CogImageConvertTool1.InputImage锚定图像 记录树节点路径正常都是留空 mToolBlock.AddGraphicToRunRecord(label,lastRecord,CogImageConvertTool1.InputImage,); } #endregion #region When the Script is Initialized /// summary /// Perform any initialization required by your script here /// /summary /// param namehostThe host tool/param 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 }
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

开源推理加速实战:10万数据吞吐10倍提升的部署全流程 2026/9/6 3:19:46

开源推理加速实战:10万数据吞吐10倍提升的部署全流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
用Skill给AI安排岗位:30+技能归并成8个角色的AI团队实战 2026/9/6 3:19:46

用Skill给AI安排岗位:30+技能归并成8个角色的AI团队实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Scout Bowie:基于Sleeper API的梦幻体育选秀与阵容优化实战 2026/9/6 3:19:46

Scout Bowie:基于Sleeper API的梦幻体育选秀与阵容优化实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
SSH客户端自带SFTP够用吗?四款主流工具深度对比与选型指南 2026/9/6 3:19:46

SSH客户端自带SFTP够用吗?四款主流工具深度对比与选型指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
动力电池Pack设计全解:从热管理到CCS电芯连接系统 2026/9/6 3:19:46

动力电池Pack设计全解:从热管理到CCS电芯连接系统

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Python第4次作业 2026/9/6 3:16:46

Python第4次作业

第1题: 位运算: 计算56及-18的所有位运算符结果,并使在注释中体现计算过程 【代码】 # 1.位运算: 计算56及-18的所有位运算符结果,并使在注释中体现计算过程 # 数值定义 a 56 b -18 # bin()打印二进制&#xff0c…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞