当前位置: 首页 > news >正文

建外卖网站徐州市经济技术开发区建设局网站

建外卖网站,徐州市经济技术开发区建设局网站,网站后台根据前端做吗,医学招聘网站开发区本章示例检测火花塞的A、B、C的距离 展示了VisionPro的操作以及C#联合编程的操作VisionPro示例使用的工具有:PMA模板匹配工具用来匹配多个火花塞 Fixture坐标空间转换工具 以及三个TBlock工具里面包含找线 、点到点距离、卡尺、创建线到点的平分线、点到线段的距离、文本标签显…

本章示例检测火花塞的A、B、C的距离 展示了VisionPro的操作以及C#联合编程的操作

VisionPro示例

使用的工具有:PMA模板匹配工具用来匹配多个火花塞 Fixture坐标空间转换工具 以及三个TBlock工具里面包含找线 、点到点距离、卡尺、创建线到点的平分线、点到线段的距离、文本标签显示

PMA模板训练工具 尽量找每个图片的共同特征 如有匹配不到 旋转角度 缩放打开 或调低阈值

A距离:

找线工具1 

找线工具2

在添加线段到线的距离 把找线1的线和找线2的线段的输出参数给线段到线的距离即可在文本标签显示 用的是Formatted 自定义文本 保留2位小数

效果:

B距离:

找线工具1找到上面的线

卡尺卡出这俩的边缘对

然后创建线到点的平分线

然后添加线段到线的距离 把找线1的线段 和创建出来的平分线输出的线的输出参数传给线段到线

效果:

C距离:

卡尺卡出它的边缘对

然后创建线到点的平分线 在添加点到线的距离 

我们在测A距离的时候已经找到那条线了 所以我们可以直接把找线1的线段输出过来 不需要再重新找了

C#联合编程示例

上面我们Vp已经操作完成还是在外面添加一个工具块 把这些工具拖到工具块里(上章筛子统计已经详细讲过以及注意事项)

1.还是在TBlock工具块保存 保存不带图像的保存到我们的Debug文件下 C#加载的时候使用相对路径就行

                                                           

2..程序在启动的时候加载我们的vpp方案

界面展示 我们一般都会使用cogRecordDisplay控件来显示结果图像 (前两章已经见过如何导入Winfrom控件以及cogRecordDisplay与cogDisplay区别)

前面我们说过只需要获取TBlock工具就行

 CogToolBlock tb;tb = CogSerializer.LoadObjectFromFile("火花塞.vpp")as CogToolBlock;

这里我是文件弹窗选择单个指定图片显示的用到了OpenFileDialog控件

注:转换图像一定要注意 是彩图还是灰度图 不然不会显示图片 博主当时用的彩色图片就没有显示出来最后发现是图片颜色问题

  ICogImage img;//选择图片private void button2_Click(object sender, EventArgs e){if (openFileDialog1.ShowDialog() == DialogResult.OK){Bitmap bitmp = new Bitmap(openFileDialog1.FileName);img = new CogImage8Grey(bitmp);cogRecordDisplay1.Image = img;//Fit()将缩放图像及其图形以适应显示控件。cogRecordDisplay1.Fit();tb.Inputs["OutputImage"].Value = img;}}

运行TB工具块 上章我们讲过获取结果有俩种方法 一种和vp写脚本写法一样获取工具(下面列子就是) 博主写习惯这样了 第二种方法是在vp里面把结果拖到输出参数哪里 然后自己可以修改参数名 根据参数名来获取写法跟上方赋值图片写法一样只是参数不一样 一个是输入参数 一个是输出参数

  tb.Run();cogRecordDisplay1.Record = tb.CreateLastRunRecord().SubRecords[0];//显示第一张图 也就是vp工具下拉框一堆图片 这里索引为0 就是第一张CogDistanceSegmentLineTool disA = tb.Tools["CogDistanceSegmentLineTool1"] as CogDistanceSegmentLineTool;CogDistanceSegmentLineTool disB = tb.Tools["CogDistanceSegmentLineTool2"] as CogDistanceSegmentLineTool;CogDistanceSegmentLineTool disC = tb.Tools["CogDistanceSegmentLineTool3"] as CogDistanceSegmentLineTool;label4.Text = disA.Distance .ToString("F2")+ "/cm";label5.Text = disB.Distance.ToString("F2") + "/cm";label6.Text = disC.Distance.ToString("F2") + "/cm";

第二种获取结果写法

还有一种获取结果写法 不需要获取某个工具 但是需要在vp里添加输出参数 然后把显示那个工具的值拖个输出参数即可 
注:名字一定要一样// 通过Outputs属性获取TB的输出参数// 获取TB中名称为  DianShu  的输出参数的值label2.Text = tb.Outputs["Count"].Value.ToString();
这里我没有在vp添加输出参数 所以用的第一种

在这里还写了编辑作业窗体也就是TBlock工具(Edits窗体)

 Edits edits = new Edits(img);edits.ShowDialog();

其实这里不仅光传图片的也应该传TB的vpp 因为这样的话 我们程序始终保持一个vp降低性能损耗也能避免新窗体在新建一个vp为null的问题 以及代码减少的问题 这里博主后续才考虑这些问题 就不展示修改之后的了思路已经说出来了 有兴趣的可以自己修改 或者私信博主免费领取课件

后续这种优化方案 可查看我下一篇的联合编程相机开发案例

 ICogImage img;public Edits(ICogImage img){InitializeComponent();this.img = img;}CogToolBlock tb;private void Edits_Load(object sender, EventArgs e){tb = CogSerializer.LoadObjectFromFile("火花塞.vpp") as CogToolBlock;cogToolBlockEditV21.Subject = tb;tb.Inputs["OutputImage"].Value=img;}private void button1_Click(object sender, EventArgs e){CogSerializer.SaveObjectToFile(tb, "火花塞.vpp");}

效果展示:

编辑作业窗体

完整代码:

Form1:

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.Dimensioning;
using Cognex.VisionPro.Display;using Cognex.VisionPro.ToolBlock;namespace 火花塞
{public partial class Form1 : Form{public Form1(){InitializeComponent();}CogToolBlock tb;ICogImage img;//选择图片private void button2_Click(object sender, EventArgs e){if (openFileDialog1.ShowDialog() == DialogResult.OK){Bitmap bitmp = new Bitmap(openFileDialog1.FileName);img = new CogImage8Grey(bitmp);cogRecordDisplay1.Image = img;//Fit()将缩放图像及其图形以适应显示控件。cogRecordDisplay1.Fit();tb.Inputs["OutputImage"].Value = img;}}//识别private void button3_Click(object sender, EventArgs e){tb.Run();cogRecordDisplay1.Record = tb.CreateLastRunRecord().SubRecords[0];CogDistanceSegmentLineTool disA = tb.Tools["CogDistanceSegmentLineTool1"] as CogDistanceSegmentLineTool;CogDistanceSegmentLineTool disB = tb.Tools["CogDistanceSegmentLineTool2"] as CogDistanceSegmentLineTool;CogDistanceSegmentLineTool disC = tb.Tools["CogDistanceSegmentLineTool3"] as CogDistanceSegmentLineTool;label4.Text = disA.Distance .ToString("F2")+ "/cm";label5.Text = disB.Distance.ToString("F2") + "/cm";label6.Text = disC.Distance.ToString("F2") + "/cm";}private void Form1_Load(object sender, EventArgs e){tb = CogSerializer.LoadObjectFromFile("火花塞.vpp")as CogToolBlock;}//编辑作业private void button1_Click(object sender, EventArgs e){Edits edits = new Edits(img);edits.ShowDialog();}}
}

Edits:

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.ToolBlock;namespace 火花塞
{public partial class Edits : Form{ICogImage img;public Edits(ICogImage img){InitializeComponent();this.img = img;}CogToolBlock tb;private void Edits_Load(object sender, EventArgs e){tb = CogSerializer.LoadObjectFromFile("火花塞.vpp") as CogToolBlock;cogToolBlockEditV21.Subject = tb;tb.Inputs["OutputImage"].Value=img;}private void button1_Click(object sender, EventArgs e){CogSerializer.SaveObjectToFile(tb, "火花塞.vpp");}}
}

http://www.dtcms.com/a/417584.html

相关文章:

  • 网站制作学生信息管理网站关于我们怎么做单页面
  • 五里坨网站建设网页设计的作用
  • 做设计比较好的网站网站规划具体内容
  • 松原建设局网站wordpress主题免费
  • asp.net 获取网站的绝对路径学生做网站的软件
  • 商机网网站源码如何制作html5网页
  • 建一个自己的网站价格汉字市城乡建设规划局官方网站
  • 什么是营销型网站食堂承包技术支持 东莞网站建设
  • 哪个网站教做公众号开设赌场罪建设网站
  • 电视台网站策划书柳州住房和城乡建设厅网站
  • 有没有做试卷的网站百度推广的步骤
  • 怎么制作网站软件做游戏需要学什么
  • 上海滕州建设集团网站网页设计心得体会100
  • 成都网站建设推广在线咨询云南云南省城乡建设厅网站
  • 聊天网站备案建设服装网站的论文
  • 网站开发发现趋势南昌网站排名优化软件
  • 品牌网站建设浩森宇特旅游景区网络推广方案
  • 网站无搜索结果页面怎么做沈阳网站怎么推广
  • 萧山区建设局网站php黄页系统
  • 百度站长工具是什么意思基于PHP网站开发的管理系统设计与开发
  • 涿州做软件和网站的深圳seo网络公司
  • 滴答手表网站网站建设和架构
  • 德宏州乡城建设局网站pc网站自动转换wap网站
  • 快站建站怎么收费的建设网银怎么提高转账限额
  • com域名注册1元铁岭网站seo
  • 网站制作 温州建设银行佛山分行网站
  • 青岛网站定制开发烟台网站建设哪家专业
  • 江门网站建设方案优化wordpress全局歌曲
  • 上海设计师网站有哪些秦皇岛房产局网签查询
  • 深圳最新消息今天新增病例怎么做网站的优化