VisionPro 9.5中的工具调用和工具组(ToolBlock)调用

article/2025/9/21 14:58:43

VisionPro是Cognex的机器视觉算法软件,通常的做法是使用VS做二次开发。
这里主要分享VisionPro中通过ToolBlock实现一个视觉检测,以及通过调用单个Tool实现一个视觉检测。

最终实现一个硬币数量检测以及坐标位置输出的应用:

使用ToolBlock的方式:

  1. 声明CogToolBlock类型的实例,并且序列化一个Vpp文件,编写vpp的过程这里不做赘述。
private CogToolBlock cogToolBlock2;
cogToolBlock2 = CogSerializer.LoadObjectFromFile(@"D:\C#Project\VisionPro_Control\VisionPro_Control\bin\x64\Debug\SampleVpp.vpp") as CogToolBlock;
//订阅ToolBlock的Ran事件,当ToolBlock执行完毕后程序会执行这个回调函数。
cogToolBlock2.Ran += new EventHandler(OnToolBlockRan);
  1. 由于这里使用的图片回放的方式,并非工业相机,所以需要申明一个CogImageFileTool类型,以获取图像或者图像集(idb、cdb)文件。(如果是接入工业相机,则需要声明CogAcqFifoTool采像工具,或者实现ICogFrameGrabber接口的方式从相机中取像。)
private CogImageFileTool cogImageFileTool2;
cogImageFileTool2.Operator.Open(@"F:\VPRO_Install\VisionPro\Images\coins.idb", CogImageFileModeConstants.Read);
  1. 为ToolBlock传入图像,并运行ToolBlock
//运行一次imageFileTool,则可以通过OutputImage属性获取到一张ICogImage类型的图片
cogImageFileTool2.Run();  
//将获取的图片赋值给ToolBlock的Image引脚,这里的Inputs是一个只读索引器
//可以通过["Image"]赋值,前提是"Image"没有被重命名。也可以通过[0]的方式赋值。
cogToolBlock2.Inputs["Image"].Value = cogImageFileTool2.OutputImage as CogImage8Grey;
//除了传图片给ToolBlock之外,还可以传参数进去,比如传入Pattern的查找概数限制。
cogToolBlock2.Inputs["SetCount"].Value = (int)nud_SetCount.Value;
//图片有了,参数有了,运行ToolBlock
cogToolBlock2.Run();
  1. 获取运行结果:
private void OnToolBlockRan(object sender, EventArgs e){//声明一个List集合获取ToolBlock的各种类型的运行结果List<DataObj> dataList = new List<DataObj>();//获取ToolBlock的结果输出引脚集合CogPMAlignResults resultList = (CogPMAlignResults)cogToolBlock2.Outputs["ResultList"].Value;//遍历,并添加到List集合中foreach (CogPMAlignResult item in resultList){dataList.Add(new DataObj(item.ID, item.GetPose().TranslationX, item.GetPose().TranslationY, item.GetPose().Rotation, item.GetPose().Scaling, item.Score));}//将获取到的集合赋值给DataGridView控件作为显示的图像源dgv_DataList.DataSource = dataList;//一般来说这里要做界面图片显示部分,这里不再赘述}

使用单工具调用的方式:

  1. 声明工具实例:工具vpp文件的编写这里不做赘述
 private CogImageFileTool cogImageFileTool; //图像文件private CogPMAlignTool cogPMAlignTool;	    //PMAlign图像识别工具private CogFixtureTool cogFixtureTool;     //位置修正工具private CogBlobTool cogBlobTool;           //斑点工具cogImageFileTool = new CogImageFileTool();cogPMAlignTool = new CogPMAlignTool();cogImageFileTool.Operator.Open(@"F:\VPRO_Install\VisionPro\Images\bracket_std.idb",  CogImageFileModeConstants.Read);cogPMAlignTool = CogSerializer.LoadObjectFromFile(toolVpp + "pmalign_tool.vpp") as CogPMAlignTool;
  1. 按顺序运行工具:
//获取图像
cogImageFileTool.Run();
//将图像赋值给PMAlign工具,并运行
cogPMAlignTool.InputImage = cogImageFileTool.OutputImage as CogImage8Grey;
cogPMAlignTool.Run();
//将图像赋值给定位修正工具,并获取PMAlign工具的线性转换矩阵
cogFixtureTool.InputImage = cogImageFileTool.OutputImage as CogImage8Grey;
cogFixtureTool.RunParams.UnfixturedFromFixturedTransform = cogPMAlignTool.Results[0].GetPose();
cogFixtureTool.Run();
//将位置修正后的图像赋值给Blob工具,并运行
cogBlobTool.InputImage = cogFixtureTool.OutputImage as CogImage8Grey;
cogBlobTool.Run();
  1. 获取Blob工具的结果:
 //这里显示在CogDisplay控件上,当然也可以显示在CogRecordDisplay控件上cogDisplay1.StaticGraphics.Clear();cogDisplay1.Image = image;//遍历Blob的结果集合,然后添加到CogDisplay绘制,这里显示斑点中心|边框foreach (CogBlobResult item in cogBlobTool.Results.GetBlobs()){           //CogBlobResult包含了这个斑点的所有信息,包括CenterOfMassX,CenterOfMassY,Area等等。。cogDisplay1.StaticGraphics.Add(item.CreateResultGraphics(CogBlobResultGraphicConstants.Boundary | CogBlobResultGraphicConstants.CenterOfMass), "");}cogDisplay1.Fit(true);

【END】


http://chatgpt.dhexx.cn/article/LZSpVaUh.shtml

相关文章

未能找到任何适合于指定的区域性或非特定区域性的资源

未能找到任何适合于指定的区域性或非特定区域性的资源。请确保在编译时已将“WindowsFormsDemo.UnifiedConfigListControl.resources”正确嵌入或链接到程序集“设备配置助手”&#xff0c;或者确保所有需要的附属程序集都可加载并已进行了完全签名 之前写过一篇这个问题&…

超强Video深度学习开源工具集,来了!

01 导读 广大人工智能算法工程师&#xff0c;有没有感觉到近几年AI程序员数量激增&#xff0c;公司新来的程序员也可以轻松实现图像分类、目标检测等基本深度学习任务&#xff0c;资深算法工程师岗位如何自保&#xff1f;广大内容平台的后台开发者&#xff0c;视频理解&a…

opencv上设置摄像头曝光参数的经验

实际应用中我们需要调整摄像头的参数比如曝光&#xff0c;由于opencv的后端是一般编译是支撑多种插件&#xff0c;详细信息请参考OpenCV: Video I/O with OpenCV Overview&#xff0c;这里引用里面的图&#xff1a; 对于VideoCaputure&#xff0c;后端有ffmpge&#xff0c;V4L&…

VS 配置 openCV 、Python 、Pytorch

VS 配置 openCV 和 Python 1、VS配置opencv1.1 系统环境PATH增加1.2 复制到Sysmtem32下1.3 配置项目1.3.1 包含目录添加1.3.2 库目录添加1.3.3 附加属性依赖项 2、VS配置Python2.1 复制include和libs文件夹复制到vs项目路径下面2.2将你需要调用的python脚本也存放在该目录下面2…

做机器视觉哪个软件好?

点击上方“小白学视觉”&#xff0c;选择加"星标"或“置顶” 重磅干货&#xff0c;第一时间送达 机器人视觉有接触&#xff0c;但是不多&#xff0c;这里我推荐一下一个详细介绍的视觉软件。 在构建机器视觉系统时&#xff0c;开发人员可以选择众多知名公司的商用软件…

康耐视Visionpro脚本编写教程一

theme: github ​本文已参与「新人创作礼」活动&#xff0c;一起开启掘金创作之路。 康耐视visionpro脚本编写 visionpro目前来说在工业中的应用时非常的广泛的&#xff0c;而且作为苹果手机厂指定的视觉厂家来说&#xff0c;他的实力是毋庸置疑的。 康耐视VisionPro的优势&…

visionpro联合c#二次开发二

本文已参与「新人创作礼」活动&#xff0c;一起开启掘金创作之路。 本次康耐视联合C#文档是最后一篇visionpro与C#联合的文章&#xff0c;后续我们将开始c#与halcon的编写或者vidi的文章。 首先我们定义所需要的变量 //定义作业CogToolBlock job;//定义作业VPP的路径string p…

Visionpro联合c#二次开发

本文已参与「新人创作礼」活动&#xff0c;一起开启掘金创作之路。 本文已参与「新人创作礼」活动&#xff0c;一起开启掘金创作之路。 本次文章将会在最近半个月一直出关于康耐视的软件的应用的介绍&#xff0c;前期先是vp&#xff0c; 后续如果大家有兴趣&#xff0c;也会…

Segmentation-Based Deep-Learning Approach for Surface-Defect Detection-论文阅读笔记

Segmentation-Based Deep-Learning Approach for Surface-Defect Detection 基于分割的表面缺陷深度学习检测方法 //2022.7.20下午12&#xff1a;49开始阅读笔记 论文速览 文中提出了一个基于分割的两阶段的表面缺陷检测方法。第一阶段包括在缺陷的像素级标签上训练的分割网络&…

论文阅读:Segmentation-Based Deep-Learning Approach for Surface-Defect Detection

PDF\CODE 基于深度学习分割的表面缺陷检测 Domen Tabernik(domen.tabernik@fri.uni-lj.si); Samo Šela; Jure Skvar; Danijel Skoaj(danijel.skocaj@fri.uni-lj.si) part of Springer Nature 2019 摘要:基于机器学习的表面缺陷自动检测已经成为一个有趣且有发展…

Segmentation-based deep-learning approach for surface-defectdetection(基于分割的表面缺陷深度学习检测方法)

论文地址&#xff1a;https://arxiv.org/abs/1903.08536v3 摘要 基于机器学习的表面异常自动检测已经成为一个有趣且有前途的研究领域&#xff0c;对视觉检测的应用领域有着非常直接的影响。深度学习方法已经成为完成这项任务最合适的方法。它们允许检查系统学习通过简单地显示…

康耐视Designer,VisionPro和ViDi匹配版本兼容-关于外观缺陷检测中肯的建议与评价

海康visionmaster-颜色区分任意选 ​康耐视VisionPro传统检测对缺陷类检测很差&#xff0c;差到不能用。单靠康耐视VisionPro深度学习VIDI&#xff0c;据视觉人粉丝很多大厂反馈&#xff0c;现场项目落地的可能性降低不低于20%。 缺陷检测建议&#xff1a;多软件融合使用&#…

veni vidi vici密钥我的生日ACIGS解密_25人在同一天生日!男女比例又是多少?阳光新生大数据来了!...

2020年 阳光学院共迎来了3884名 活力四射、意气风发的 本科生小萌新 阳光招办带你 一起解密 新生大数据~ 准备好了吗? GO! 2020级普本新生2489人, 专升本新生1395人, 他们分别来自五湖四海,快来找找老乡吧~ 世界那么大,还是遇见你~ 相聚是一种妙不可言的缘分~ 2020级阳光…

vidi深度学习图像处理软件2.1

&#xfeff;&#xfeff;有需要这个软件的,请加我的QQ7299789 VIDI 提供了第一款基于工业图像分析的深度学习软件。VIDI Suite基于最先进的机器学习算法&#xff0c;是一款优化可靠的可现场测试的软件解决方案。它可以完成检测与分类的编程中不可能完成的挑战。这为不少具有挑…

Insight ViDi系列相机 FTP存图

一、测试说明 标题发现问题&#xff1a;使用In-Sight Vision Suite这个软件设置FTP存图&#xff0c;不能像In-Sight Explorer一样&#xff0c;设置各本地路径就可以直接存图。 相机软件&#xff1a;In-Sight Vision Suite&#xff08;22.3.0&#xff09; 电脑本地IP&#xff1…

康耐视深度学习ViDi界面介绍-选项菜单

海康机器视觉Visionmaster-距离与角度测量 选项菜单 Workspace ----------- 程序操作的菜单项 Tool ------------------- 工具操作的菜单项 Database ------------ 数据库操作的菜单项 View ------------------ 特征标注操作的菜单项 Plugins --------------- 插件信息显示菜单…

深度学习康耐视ViDi如何添加工具

在建立好一个Workspace后&#xff0c;会出现一个 图标 点击该图标的加号&#xff0c;即可显示可用的工具。 点击需要添加的工具&#xff0c;即可完成工具的添加

VIDI软件在粗糙金属表面缺陷检测中的应用

2017年1月12日在中国汽车协会举办的信息发布会上&#xff0c;中汽协秘书长助理代表协会对2017年中国汽车市场作出预测&#xff1a;“2017年我国的汽车产销量预计为2940万辆&#xff0c;增速预计保持在5%左右。”在当天发布的产销数据中&#xff0c;2016年汽车销量达2803万辆。 …

深度学习康耐视VIDI-蓝色定位工具1

机器视觉-康耐视visionpro-外观缺陷检测-缺失不少哈 每一个学员都会经历失败,专业于机器视觉visionman团队切中要害,尽快解决学员这些问题。 -专业于机器视觉visionman团队教学宣言 蓝色定位工具用于识别和定位图像中的特定特征或特征组。该工具的输出可用于为其他ViDi 工具…

康耐视ViDi如何实现工具之间的关联

(Q有答疑)康耐视智能相机Insight-边缘检测 要创建一系列工具&#xff0c;请在添加工具后&#xff0c;按工具图标上的加号图标。这样&#xff0c;您即可创建一系列工具&#xff0c;而每个工具都通过有相应工具颜色的关联选项卡显示。您可以通过单击相应 的工具从一个工具关联到下…