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

网站建夏天做那个网站致富

网站建,夏天做那个网站致富,wordpress邮件发布,呼和浩特整站优化该程序演示了如何使用CogToolBlock进行图像交互. 从vpp文件中加载一个ToolBlock。 用户可以通过应用程序窗体上的数字增减控件修改ToolBlock输入端子的值。 用户还可以从coins.idb或采集FIFO中选择图像。 “运行一次”按钮执行以下操作: 获取下一个图像或读取下一…

该程序演示了如何使用CogToolBlock进行图像交互.

  1. 从vpp文件中加载一个ToolBlock。

  2. 用户可以通过应用程序窗体上的数字增减控件修改ToolBlock输入端子的值。

  3. 用户还可以从coins.idb或采集FIFO中选择图像。

  4. “运行一次”按钮执行以下操作:

    1. 获取下一个图像或读取下一个图像
    2. 将图像传递给ToolBlock输入图像
    3. 运行ToolBlock一次
  5. 通过读取输出端子的值,以更新应用程序标签,显示检查结果。

  6. 用户可以更改代码以创建一个与可用摄像头特定配合的采集FIFO。

  7. 顶层脚本是一个简单的C#脚本,它运行工具。

  8. TBInspectionTest ToolBlock被用作结果分析工具,以决定检查是通过还是失败,并设置输出端子的值。

  9. 用户通过菜单按钮运行ToolBlock,但ToolBlock将针对相同的图像运行。

  10. 还利用了运行事件,以便用来自Blob工具的结果更新显示。

具体操作如下:

1. 界面设计

添加CogRecordDisplay,CogToolBlockEditV2控件,GroupBox,RadioButton,NumbericUpAndDown,Button,Label.

在这里插入图片描述

2. 添加引用

using Cognex.VisionPro;
using Cognex.VisionPro.ImageFile;
using Cognex.VisionPro.ToolBlock;
using Cognex.VisionPro.Blob;

3. 声明变量

        private CogImageFileTool imageFileTool;private CogAcqFifoTool acqFifoTool;private long numPass=0;private long numFail = 0; 

4. 加载工具

  1. cogToolBlockEditV21的本地显示设置为不可见。这通常用于在不需要显示工具块的情况下运行工具,比如在后台处理图像。
cogToolBlockEditV21.LocalDisplayVisible = false;
  1. 创建一个新的图像文件工具实例,imageFileTool将用于处理图像文件。
imageFileTool = new CogImageFileTool();
  1. 打开一个图像数据库文件(coins.idb),文件路径是相对于当前应用程序的基目录。这允许工具读取图像数据。
imageFileTool.Operator.Open(AppDomain.CurrentDomain.BaseDirectory + @"\project\images\coins.idb", CogImageFileModeConstants.Read);
  1. 创建一个新的采集FIFO工具实例,acqFifoTool,用于处理图像采集。
acqFifoTool = new CogAcqFifoTool();
  1. 检查acqFifoTool的操作符是否为null。如果是,则禁用与相机相关的控件(如radCamera),表示没有有效的相机连接。
if (acqFifoTool.Operator == null)
{radCamera.Enabled = false;
}
  1. 如果acqFifoTool的操作符不为null,则设置曝光参数为10,配置相机的曝光时间。
else
{acqFifoTool.Operator.OwnedExposureParams.Exposure = 10;
}
  1. 从指定的文件(tb.vpp)加载一个ToolBlock对象,并将其设置为cogToolBlockEditV21的主题。这使得工具块可以在编辑器中进行操作。
cogToolBlockEditV21.Subject = CogSerializer.LoadObjectFromFile(AppDomain.CurrentDomain.BaseDirectory + @"\Project\tb.vpp") as CogToolBlock;
  1. cogToolBlockEditV21的主题(ToolBlock)添加一个事件处理程序,监听ToolBlock运行完成后的事件。
cogToolBlockEditV21.Subject.Ran += Subject_Ran;
  1. 设置ToolBlock的输入参数FilterLowValueFilterHighValue的值,这些值来自用户界面上的数值控件(如nAreaLownAreaHigh)。
cogToolBlockEditV21.Subject.Inputs["FilterLowValue"].Value = nAreaLow.Value;
cogToolBlockEditV21.Subject.Inputs["FilterHighValue"].Value = nAreaHigh.Value;
  1. cogToolBlockEditV21添加一个事件处理程序,监听主题变化的事件。这通常用于处理ToolBlock的更改,例如更新界面或执行其他操作。
cogToolBlockEditV21.SubjectChanged += CogToolBlockEditV21_SubjectChanged;

5. 处理CogToolBlock事件

        private void CogToolBlockEditV21_SubjectChanged(object sender, EventArgs e){//这意味着如果用户修改了ToolBlock的内容,那么为了避免在不稳定或未配置的状态下运行处理,该按钮将被禁用。btnRun.Enabled = false;}private void Subject_Ran(object sender, EventArgs e){//检查 ToolBlock 的输出 InspectionPassed 的值。这个输出是一个布尔值,表示检测是否通过。如果通过,numPass(通过的计数)增加 1;如果未通过,则 numFail(未通过的计数)增加 1。if ((bool)cogToolBlockEditV21.Subject.Outputs["InspectionPassed"].Value==true){numPass++;}else{numFail++;}lblPass.Text = numPass.ToString();lblFail.Text = numFail.ToString();//将 ToolBlock 的输入 Image 的值(应为一个图像对象)赋值给 cogRecordDisplay1.Image,将其显示在记录显示控件中cogRecordDisplay1.Image = cogToolBlockEditV21.Subject.Inputs["Image"].Value as CogImage8Grey;//从 ToolBlock 的工具集中获取名为 CogBlobTool1 的工具,并将其转换为 CogBlobTool 类型CogBlobTool blobTool = cogToolBlockEditV21.Subject.Tools["CogBlobTool1"] as CogBlobTool;//调用 blobTool 的 CreateLastRunRecord 方法,生成该工具上次运行的记录,并将其赋值给 cogRecordDisplay1.Record,以便在记录显示控件中显示相关信息cogRecordDisplay1.Record = blobTool.CreateLastRunRecord();//调用 cogRecordDisplay1.Fit(true) 方法,调整显示控件的内容以适应其可见区域。这使得用户能够清晰地看到图像和记录信息cogRecordDisplay1.Fit(true);}

6. 更新CogToolBlock输入值

        private void nAreaLow_ValueChanged(object sender, EventArgs e){cogToolBlockEditV21.Subject.Inputs["FilterLowValue"].Value = nAreaLow.Value;}private void nAreaHigh_ValueChanged(object sender, EventArgs e){cogToolBlockEditV21.Subject.Inputs["FilterHighValue"].Value=nAreaHigh.Value;}

7. 界面效果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

到这里使用C#和CogToolBlock进行图像交互就完成了,当我们点击RunOnce按钮时,会查找面积范围在5000-8000范围内的硬币,找到的话会更新输出的Pass数量,没找到的话会更新Fail的数量,均已正确显示.另外,我们可以在下方输入的数字框通过更改面积上下限来查找指定范围内的硬币.

8. 项目示例

Visionpro二次开发:使用CogToolBlock进行图像交互

http://www.yayakq.cn/news/353081/

相关文章:

  • 建立网站还是建设网站哪里有正规的电商培训班
  • 校园网站建设管理办法济南营销网站制作
  • 一般做网站要多少钱wordpress 文章简介
  • 建立什么网站深情密码免费观看网站
  • 企业内部网站如何建设软件下载网站如何履行安全管理义务确保提供的软件不含恶意程序
  • 校园微信网站模板全国公路建设信用网站
  • 深圳网站设计公司哪个好微网站建设包含哪些内容
  • 网站中的搜索框图标怎么做的免费建网站 建站之星
  • 网站源码cmswordpress首页幻灯片
  • 优化型网站的好处参考消息电子版报纸
  • 手机做印章网站桥东企业做网站
  • 服装网站建设定制制作做的网站如何上传网上
  • 网站链轮内有死链深圳网站建设方案外包
  • 云南省网站备案要求电子商务网站如何建设
  • 找个网页公司做网站做推文加入视频的网站
  • 网站页面引导怎么做科技元素logo设计
  • 黔西南州网站建设公司英德建设网站
  • 网络网站设计培训目前中国最火的论坛
  • 做导购网站需要多大的服务器变装小说 wordpress
  • 求一个网站你知道的电子商务系统的开发方式
  • 卫计局网站建设工作总结怎么查网站是不是正规
  • 沈阳顺天建设集团网站网站 流量 不够用
  • 哈尔滨网站建设推广方案网站设计制作哪家服务好
  • 网易云企业网站建设模板四川住房城乡建设周刊网站
  • 微信群如何推广网站建设网络架构指什么
  • 深圳企业网站公司网站建设意见征求
  • 做摄影网站公司福建省高速公路建设管理网站
  • 加盟网官方网站制作高端网站效果怎么样
  • 网站正在建设中图片seo网站推广有哪些
  • 免费个人网站制作军事新闻视频在线观看