C#+VisionPro获取Blob的测量数据
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Cognex.VisionPro; using Cognex.VisionPro.Blob; using Cognex.VisionPro.Caliper; using Cognex.VisionPro.Interop; using Cognex.VisionPro.QuickBuild; using Cognex.VisionPro.ToolGroup; using CogGraphicLabel = Cognex.VisionPro.CogGraphicLabel; namespace VPPDemo2 { public partial class Form1 : Form { private string VppPath = @"C:\Users\Administrator\Desktop\QuickBuild2.vpp"; private CogJobManager myjobmanger; private CogToolGroup cogToolGroup; //private CogFindCircleTool cogFindCircleTool; //private CogFindLineTool cogFindLineTool; private CogBlobTool cogBlobTool; public Form1() { InitializeComponent(); } /// <summary> /// 加载VPP /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender, EventArgs e) { myjobmanger = (CogJobManager)CogSerializer.LoadObjectFromFile(VppPath); cogToolGroup = (CogToolGroup)myjobmanger.Job(0).VisionTool; //cogFindCircleTool = (CogFindCircleTool)cogToolGroup.Tools[3]; //cogFindLineTool=(CogFindLineTool)cogToolGroup.Tools[4]; cogBlobTool = (CogBlobTool)cogToolGroup.Tools[2]; MessageBox.Show("加载VPP成功."); } /// <summary> /// 运行 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button2_Click(object sender, EventArgs e) { //cogFindCircleTool.RunParams.NumCalipers = 10; //cogFindCircleTool.Run(); cogBlobTool.Run(); cogToolGroup.Run(); MessageBox.Show("运行成功."); } /// <summary> /// 获取结果 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button3_Click(object sender, EventArgs e) { //创建文本 CogGraphicLabel ResultLabel = new CogGraphicLabel();//创建标签对象 ResultLabel.X = 10; ResultLabel.Y = -50; ResultLabel.Text = "Label Test,添加文本测试"; ResultLabel.Color = Cognex.VisionPro.CogColorConstants.Red; ResultLabel.Font = new Font("arial",8); //创建矩形 Cognex.VisionPro.CogRectangle cogRectangle = new Cognex.VisionPro.CogRectangle(); cogRectangle.X = 10; cogRectangle.Y = 10; cogRectangle.Width = 100; cogRectangle.Height = 150; cogRectangle.Color = Cognex.VisionPro.CogColorConstants.Red; //创建圆 Cognex.VisionPro.CogCircle cogCircle = new Cognex.VisionPro.CogCircle(); cogCircle.CenterX = 20; cogCircle.CenterY = 20; cogCircle.Radius = 50; cogCircle.Color = Cognex.VisionPro.CogColorConstants.Yellow; //获取找到的线的像素长度 //double lineLongth = cogFindLineTool.Results.GetLineSegment().Length; //ResultLabel.Text = $"找到的线的长度:{lineLongth}"; //获取Bolb的测量数据 double data = cogBlobTool.Results.GetBlobs()[0].GetMeasure(CogBlobMeasureConstants.Area); ResultLabel.Text = $"找到的Blob数据:{data}"; //显示图像 Cognex.VisionPro.ICogRecord Record = cogToolGroup.CreateLastRunRecord(); cogRecordDisplay1.Record = Record.SubRecords[1]; cogRecordDisplay1.InteractiveGraphics.Add(ResultLabel,"",true); //将文本标签添加到图像显示 cogRecordDisplay1.StaticGraphics.Add(ResultLabel,"Label"); cogRecordDisplay1.StaticGraphics.Add(cogRectangle,""); cogRecordDisplay1.StaticGraphics.Add(cogCircle,""); } } }
运行结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗