C#与VisionPro联合开发——跳转页面

1、跳转页面并打开相机

在这里插入图片描述
From1 所有代码展示

using System;
using System.IO;
using System.Windows.Forms;
//引入VisionPro命名空间
using Cognex.VisionPro;namespace ConnectCamera {public partial class Form1 : Form {public Form1() {InitializeComponent();}CogAcqFifoTool fifoTool;  //窗口加载的Load事件private void Form1_Load(object sender, EventArgs e) {//进行相机初始化(这里使用的是本地的vpp文件)string path = Directory.GetCurrentDirectory() + "\\abc.vpp";try {//根据路径读取到vpp文件,初始化fifo对象CogAcqFifoTool fifo = (CogAcqFifoTool)CogSerializer.LoadObjectFromFile(path);if (fifo != null) {MessageBox.Show("相机初始化成功!");if (fifo.Operator.FrameGrabber != null) {fifoTool = fifo;}}} catch (Exception ex) {MessageBox.Show("初始化失败:" + ex.Message);}}//相机private void toolStripLabel1_Click(object sender, EventArgs e) {//传递到camera页面,这样取景工具在下一个窗体也可以访问到FrmCamera frm = new FrmCamera(fifoTool);frm.ShowDialog();}}
}

在这里插入图片描述

FrmCamera 代码展示

using System;
using System.Windows.Forms;
using Cognex.VisionPro;namespace ConnectCamera {public partial class FrmCamera : Form {//声明 CogAcqFifoToolCogAcqFifoTool acq = null;VisionTool visionPro = new VisionTool();//方法里面传入参数public FrmCamera(CogAcqFifoTool fofo) {InitializeComponent();//显示的是上一个页面传入的图片cogAcqFifoEditV21.Subject = fofo;}//保存图像private void toolStripLabel1_Click(object sender, EventArgs e) {visionPro.fifoTool = cogAcqFifoEditV21.Subject;//提供保存vpp的方法visionPro.SaveVpp(cogAcqFifoEditV21.Subject);}}
}

2、跳转页面并打开ToolBlock

From1 代码展示

using System;
using System.IO;
using System.Windows.Forms;
//引入VisionPro
using Cognex.VisionPro;namespace ConnectCamera {public partial class Form1 : Form {public From1(){InitializeComponent();      }    CogToolBlock tb = null;//窗口的Load事件   private void Form1_Load(object sender, EventArgs e) {//进行相机初始化(这里使用的是本地的vpp文件)string path = Directory.GetCurrentDirectory() + "\\vpp\\tb.vpp";tb = (CogToolBlock)CogSerializer.LoadObjectFromFile(path);}//打开FrmTB窗口private void btnFrmTB_Click(object sender, EventArgs e) {FrmTB frmTB = new FrmTB(tb);frmTB.ShowDialog();}}
}

FrmTB窗口
在这里插入图片描述
FrmTB 代码展示

using System.Windows.Forms;
using Cognex.VisionPro.ToolBlock;namespace FrameGrabber {public partial class FrmTB : Form {CogToolBlock mTB = null;public FrmTB(CogToolBlock tb) {InitializeComponent();mTB = tb;}private void FrmTB_Load(object sender, System.EventArgs e) {//把读取到的ToolBlock赋值给当前控件cogToolBlockEditV21.Subject = mTB;}}
}

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

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

相关文章

Java架构师之路二、数据库:SQL语言、关系型数据库、非关系型数据库、数据一致性、事务管理等。

目录 SQL语言: 关系型数据库: 非关系型数据库: 数据一致性: 事务管理: 上篇:Java架构师之路一、Java基础知识:Java语言特性、集合框架、IO流、多线程、反射、注解等基础知识。-CSDN博客 下…

消息中间件之RocketMQ源码分析(十四)

Broker内存映射机制与高效磁盘 RocketMQ在存储涉及中通过内存映射、顺序写文件等方式实现了高吞吐。 RocketMQ的基本数据结构: CommitLog:RocketMQ对存储消息的物理文件的抽象实现,也就是对物理CommitLog文件的具体实现。MappedFile:CommitLog文件在内存中的映射文…

汽车信息安全--S32K3的HSE如何与App Core通信(1)?

目录 1.S32K3 网络安全架构 2. MU的通信流程 2.1 总体描述 2.2 Host 消息类型 2.3 寄存器概述

同等学力申硕-计算机专业-数学基础-历年真题和答案解析

同等学力申请硕士学位考试是比较适合在职人员的提升学位方式,了解过的人应该都知道,现在社会的竞争压力越来越大,为了提高职业生存能力,提升学位在所难免。 为了通过同等学力申请硕士学位考试,对于计算机专业的人来说…

Pandas时间序列数据补全

一、问题 时间序列数据缺失,将其补全。 如下图所示,数据存在缺失秒级的情况 二、方法 1、需要将时间戳字段设置成 df 的索引 2、使用df.resample()方法 (1)上采样(将上一条数据作为当前缺失数据) resample()中的参数&#x…

Spring、SpringBoot、SpringCloud三者的区别

Spring、Spring Boot 和 Spring Cloud 是构建企业级 Java 应用程序的不同层次的框架和工具。下面详细介绍它们之间的区别: 1. Spring框架: 概述: Spring 是一个全功能的企业级 Java 框架,提供了依赖注入、面向切面编程、事务管理…

*MYSQL--索引*

一:介绍 在MYSQL当中,索引的使用类似于书当中目录的作用,索引的使用能够让查询更加的迅速,比方说搜索mysql这个单词的时候,可以先从首字母为m开头的字母进行查找,这样就大大减少了搜索的时间,而不是从头到尾进行搜索,提高查询的速度 二:类型 主要分为两大类,一种是根据底层的结…

多输入时序预测|GWO-CNN-LSTM|灰狼算法优化的卷积-长短期神经网络时序预测(Matlab)

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、算法介绍: 灰狼优化算法: 卷积神经网络-长短期记忆网络: 四、完整程序下载: 一、程序及算法内容…

K8S—Pod详解

目录 一 Pod基础概念 1.1 Pod是什么 1.2 为什么要使用Pod?Pod在K8S集群中的使用方式? 1.3 基础容器pause 二 Pod的分类 2.1 自主式Pod和控制器管理的Pod 2.2 容器的分类 2.2.1 基础容器(infrastructure container) 2.2.2…

【Vuforia+Unity】AR03-圆柱体物体识别(Cylinder Targets)

1.创建数据库模型 这个是让我们把生活中类似圆柱体和圆锥体的物体进行AR识别所选择的模型 Bottom Diameter:底部直径 Top Diameter:顶部直径 Side Length:圆柱侧面长度 请注意,您不必上传所有三个部分的图片,但您需要先为侧面曲面关联一个图像&#…

流程图:理解、创建与优化的视觉工具

流程图:理解、创建与优化的视觉工具 引言 在日常生活和工作中,我们经常遇到需要描述一系列步骤或过程的情况。这些步骤可能是制作一杯咖啡、完成一个项目,或者是解决一个复杂的数学问题。流程图,作为一种强大的视觉工具&#xf…

题目: 数组二叉树(C++)

题目描述 二叉树也可以用数组来存储,给定一个数组,树的根节点的值存储在下标1,对于存储在下标N的节点,它的左子节点和右子节点分别存储在下标2N和2N1,并且我们用值-1代表一个节点为空。 给定一个数组存储的二叉树&am…

深入理解 Vue2 指令

在 Vue2 中,指令是一种特殊的属性,用于在模板中动态地改变 DOM 元素的行为。Vue2 提供了许多内置指令,使得我们可以更加方便地对 DOM 进行操作。在这篇博客中,我们将深入了解 Vue2 中的一些常用指令。 v-bind 指令: v-…

android pdf框架-4,分析vudroid源码1

前言 上文基于recyclerview修改,没有自定义layoutmanager,其实并不是一个好的阅读器,缩放功能有限,放大了容易内存溢出. 本文,从修改vudroid源码来完成一个阅读器. 为什么是vudroid? 它是基于view系统的相对完整的功能代码没有那么抽象,简洁容易修改功能没有完善,有修改空间…

关于正则中的Pattern和Matcher的使用

关于正则中的Pattern和Matcher的使用 1 简介2 语法3 案例 在项目中, 经常需要对请求的数据进行格式,内容校验, 而使用正则表达式, 比较简单优雅实现校验功能. 故记录一下正则中Pattern和Matcher的使用. 1 简介 ​ java.util.regex包下的Pattern和Matcher都是Java中用于正则表达…

Spring启动生命周期

Spring Boot 生命周期详解 Spring Boot 应用程序的生命周期包含几个阶段,每个阶段都有特定的事件和钩子,允许开发者在应用程序的不同生命周期阶段插入自定义逻辑。以下是 Spring Boot 生命周期的主要阶段和对应的事件: 准备阶段:…

【Docker实操】部署php项目

概述 最终达成的容器部署结构和原理如下图: 一、获取nginx、php官方镜像 docker pull nginx //拉取nginx官方镜像 docker pull php:7.4-fpm //拉取php官方镜像需要获取其他可用的php版本,可以上【docker hub】搜索【php】,所有的【xxx-fp…

【工具】阿莫智能设备之脱机烧录器K202C-1

注意,本文档仅仅是介绍烧录器的资料构成,并非烧录器的说明书,详细请看各对说明书及视频。 1. 资料图解 首先需要下载资料,通常稳定发布版本可以从 www.amomcu.cn 下载, 也可以向我们客服获取最新版本, 获…

浅谈redis之SDS

SDS 什么是SDSSDS结构len的作用free的作用buf的作用简单示例 SDS机制重新分配内存分配内存机制小于1MB情况大于1MB情况为什么这样分配 惰性释放内存 什么是SDS SDS:全名 simple dynamic string,意为简单动态字符串,作为redis里的一种数据结构…

六.生成makefile文件 并基于makefile文件编译opencv

1.点击【Generate】 生成makefile文件 2.进入目录下编译opencv源码,mingw32-make -j 8 3..编译出现报错 4.取消[WITH_OPENCL_D3D11_NV]选项,再次【configure】【generate】 然后再次编译:mingw32-make -j 8