使用C#加载TOOLBLOCK

前言

因为Vpp文件类型包含了以下三种

  • QuickBuid
  • Job
  • ToolBlock

不同类型的打开方式不同,需要提前知道vpp是什么类型

例如

这个TB.vpp文件是TOOLBLOCK,就不能直接在visionpro中打开(直接打开需要QuickBuid文件),

 可以先新建一个QuickBuid文件,引入ToolBlock工具,在ToolBlock工具打开

类型查找方式

需要用到此工具,但不能直接打开,需要用命令行

C:\Users\red>cd D:\Visionpro\VisionPro\bin\  //转到此目录C:\Users\red>vppversion --help //查看帮助文件//查看对应vpp文件类型及其他内容
C:\Users\red>vppversion -v D:\Visionpro\VisionPro\samples\Programming\ToolBlock\ToolBlockLoad\TB.vpp

 其他

用VS加载TOOLBLOCK

准备工作

可以提前复制vpp和图像文件加入项目中,方便添加相对路径

 代码

需要提前添加引用,添加程序集

编写代码时要参考vpp中的命名规则

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.ToolBlock;
using Cognex.VisionPro.ImageFile;namespace mytbload
{public partial class Form1 : Form{CogImageFileTool mIFTool;CogToolBlock tb;public Form1(){InitializeComponent();mIFTool = new CogImageFileTool();mIFTool.Operator.Open("coins.idb", CogImageFileModeConstants.Read);//设置图像来源tb = CogSerializer.LoadObjectFromFile("TB.vpp") as CogToolBlock;//设置vpp文件tb.Inputs["FilterLowValue"].Value = 5050;//设置输入参数最小最大面积tb.Inputs["FilterHighValue"].Value = 8050;tb.Ran += Tb_Ran;//获取结果}private void Tb_Ran(object sender, EventArgs e){//数据更改部分//显示是否合格lbResult.Text = tb.Outputs["InspectionPassed"].Value.ToString();//显示斑点个数CogBlobTool mBlobTool = tb.Tools["CogBlobTool1"] as CogBlobTool;lbCount.Text = mBlobTool.Results.GetBlobs().Count.ToString();}private void Form1_Load(object sender, EventArgs e){}private void button1_Click(object sender, EventArgs e){mIFTool.Run();//运行图像输入工具tb.Inputs["Image"].Value = mIFTool.OutputImage as CogImage8Grey;//设置,传入一张灰度图tb.Run();}}
}

  结果图

visionpro中toolblock图

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/32050.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在centos7下通过docker 安装onlyoffice

因为需要调试网盘,所以今天安装一下centos7的onlyoffice 官方介绍如下: 为了方便,还是通过docker方式来安装onlyoffice了,这里我们采用社区版本了。 1、下载docker安装包 如下: docker pull onlyoffice/documentserv…

uniapp 将标题背景更换背景图片 完美解决(附加源码+实现效果图)

问题描述 今天拿到小程序的设计效果图后,标题部分背景需要加背景图片,以往我做的都是标题背景更换颜色等,加背景图片还是第一次遇到,大家可以先看下我的效果图是否与你遇到的问题一致! 首页标题的背景是个背景图片。 …

构建高性能的MongoDB数据迁移工具:Java的开发实践

随着大数据时代的到来,数据迁移成为许多企业和组织必须面对的挑战之一。作为一种非关系型数据库,MongoDB在应用开发中得到了广泛的应用。为了满足数据迁移的需求,我们需要一个高性能、稳定可靠的MongoDB数据迁移工具。下面将分享使用Java开发…

Leetcode 977. 有序数组的平方

题目: Leetcode 977. 有序数组的平方 描述: 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序 思路: 双指针法 数组其实是有序的, 只不过负数平方之…

将vsCode 打开的多个文件分行(栏)排列,实现全部显示,便于切换文件

目录 1. 前言 2. 设置VsCode 多文件分行(栏)排列显示 1. 前言 主流编程IDE几乎都有排列切换选择所要查看的文件功能,如下为Visual Studio 2022的该功能界面: 图 1 图 2 当在Visual Studio 2022打开很多文件时,可以按照图1、图2所示找到自…

基于Selenium技术方案的爬虫入门实践

通过爬虫技术抓取网页,动态加载的数据或包含 JavaScript 的页面,需要使用一些特殊的技术和工具。以下是一些常用的技术方法: 使用浏览器模拟器:使用像 Selenium、PhantomJS 或其他类似工具可以模拟一个完整的浏览器环境&#xff0…

Redis实战案例27-UV统计

1. Redis的HyperLogLog的统计功能 示例: 表明HyperLogLog不管加入重复元素多少次都不会让count,不会计数重复元素,所以适合做UV计数 2. 简单实现UV测试 通过单元测试,向 HyperLogLog 中添加 100 万条数据,看看内存占…

python3.6 安装pillow失败

问题描述 python3 安装 pillow 失败 错误原因 python3.6 不支持 pillow9.0 以上的版本 解决方法: 指定版本安装 e.g., pillow8.0 pip3 install pillow8.0

看漫画学python!一天一个小惊喜有趣好用(全彩版)?

新手如何: 搭建Python开发环境 我们在Python官网可以下载Python安装包,在这个安装包里有Python解释器、Python运行所需要的基础库,以及交互式运行工具——Python 在下载完成后就可以安装Python了,在安装过程中会弹出内容选择对话…

水库大坝安全监测系统实施方案

一、方案概述 水库大坝作为特殊的建筑,其安全性质与房屋等建筑物完全不同,并且建造在地质构造复杂、岩土特性不均匀的地基上,目前对于大坝监测多采用人工巡查的方法,存在一定的系统误差,其工作性态和安全状况随时都在变…

怎么学习机械学习相关的技术? - 易智编译EaseEditing

学习DOM(文档对象模型)相关技术是成为前端开发者的关键一步,因为DOM是用于操作和控制网页内容的基础。以下是学习DOM相关技术的步骤和方法: 了解基础知识: 首先,了解什么是DOM,它如何表示HTML…

刘汉清:从生活到画布,宠物成为灵感源泉

出生于中国镇江的艺术家刘汉清,其作品展现出他对日常生活的深入洞察力,以及对美的独特理解。他的作品通常没有视觉参考,而是通过对他周围环境的理解,尤其是他的宠物,来进行创作。 在刘汉清的创作过程中,他…

从零实战SLAM-第一课(SLAM概览)

在七月算法报的班,老师讲的蛮好。好记性不如烂笔头,关键内容还是记录一下吧, 课程入口,感兴趣的同学可以学习一下。 --------------------------------------------------------------------------------------------------------…

(具体解决方案)训练GAN深度学习的时候出现生成器loss一直上升但判别器loss趋于0

今天小陶在训练CGAN的时候出现了绷不住的情况,那就是G_loss(生成器的loss值)一路狂飙,一直上升到了6才逐渐平稳。而D_loss(判别器的loss值)却越来越小,具体的情况就看下面的图片吧。其实这在GAN…

柜柜软件报价单滑动闪屏解决办法

柜柜下载地址:家具设计软件免费下载-家居设计软件手机版下载-柜柜App官网 出现的问题现象: 原因:笔记本使用的集成显卡,切换到独立显卡即可解决 异常修复.

Go context.WithCancel()的使用

WithCancel可以将一个Context包装为cancelCtx,并提供一个取消函数,调用这个取消函数,可以Cancel对应的Context Go语言context包-cancelCtx 疑问 context.WithCancel()取消机制的理解 父母5s钟后出门,倒计时,父母在时要学习,父母一走就可以玩 …

【华秋推荐】新能源汽车中的T-BOX系统,你了解多少?

近几年,新能源汽车产业进入了加速发展的阶段。我国的新能源汽车产业,经过多年的持续努力,技术水平显著提升、产业体系日趋完善、企业竞争力大幅增强,呈现市场规模、发展质量“双提升”的良好局面。同时,通过国家多年来…

基于云平台的智慧养殖远程监控系统

一、项目背景 冬春季节每天的温度和昼夜温差变化很大,为保证养殖动物有一个温暖舒适的生存环境,使动物的生产性能得到较好的发挥,须注意做好温度、湿度、通风等方面的控制。 智慧养殖智能监控系统可以实现对如温度、湿度、气体浓度、光照度…

Spring Profile与PropertyPlaceholderConfigurer实现项目多环境配置切换

最近考虑项目在不同环境下配置的切换,使用profile注解搭配PropertyPlaceholderConfigurer实现对配置文件的切换,简单写了个demo记录下实现。 基本知识介绍 Profile Profile通过对bean进行修饰,来限定spring在bean管理时的初始化情况&#…

Spring源码——初识Spring容器

Spring源码之工厂(容器) 为什么把Spring的工厂又叫做容器呢? 工厂的责任是创建对象,但是创建完对象后还要进行存储(针对于单例的对象来讲),以供其他地方使用,这就是容器。为了能存…