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

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;}}
}

相关文章:

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();}CogAcqFif…...

服务端测试开发必备技能:Mock测试

什么是mock测试 Mock 测试就是在测试活动中,对于某些不容易构造或者不容易获取的数据/场景,用一个Mock对象来创建以便测试的测试方法。 Mock测试常见场景 无法控制第三方系统接口的返回,返回的数据不满足要求依赖的接口还未开发完成&#…...

vue3中ref创建变量取值时自动补充 .value 插件 volar

插件 TypeScript Vue Plugin (Volar) 设置中配置...

clickhouse的docker部署与springboot整合

注意:镜像bitnami/clickhouse包含服务端和客户端,yandex版本需要使用yandex/clickhouse-server,yandex/clickhouse-server docker启动命令(允许空密码 -e ALLOW_EMPTY_PASSWORD=yes),clickhouse版本不同,配置文件在的位置也会不一样/etc/clickhouse-server/config.xml d…...

Node.js_基础知识(计算机硬件基础)

主机的基本组成 CPU:Central Processing Unit,即中央处理器,是计算机的核心部件。是一块集成电路芯片,能够执行计算机指令并控制计算机的各种操作,负责运算和处理数据内存:是电脑硬件中的一块电路板,用于暂时存储CPU中的运算数据,是计算机与CPU进行沟通的桥梁,负责存储…...

git bash :download.sh: line 1: wget: command not found(已解决)

Windows中git bash完全可以替代原生的cmd,但是对于git bash会有一些Linux下广泛使用的命令的缺失,比如wget命令。 1、下载wget.exe,地址:https://eternallybored.org/misc/wget/ 2、将wget.exe 拷贝到C:\Program Files\Git\ming…...

BlackberryQ10 是可以安装 Android 4.3 应用的,Web UserAgent 版本信息

BlackberryQ10 是可以安装 Android 4.3 应用的 最近淘了个 Q10 手机,非常稀罕它,拿着手感一流。这么好的东西,就想给它装点东西,但目前所有的应用都已经抛弃这个安卓版本了。 一、开发环境介绍 BlackBerry Q10 的 安卓版本是 4.…...

JS前端高频面试

JS数据类型有哪些,区别是什么 js数据类型分为原始数据类型和引用数据类型。 原始数据类型包括:number,string,boolean,null,undefined,和es6新增的两种类型:bigint 和 symbol。&am…...

Flask数据库操作-Flask-SQLAlchemy

Flask中一般使用flask-sqlalchemy来操作数据库。flask-sqlalchemy的使用介绍如下: 一、SQLAlchemy SQLALchemy 实际上是对数据库的抽象,让开发者不用直接和 SQL 语句打交道,而是通过 Python 对象来操作数据库,在舍弃一些性能开销…...

H5获取手机相机或相册图片两种方式-Android通过webview传递多张照片给H5

需求目的: 手机机通过webView展示H5网页,在特殊场景下,需要使用相机拍照或者从相册获取照片,上传后台。 完整流程效果: 如下图 一、H5界面样例代码 使用html文件格式,文件直接打开就可以展示布局&#…...

mysql进阶学习 | DAY 14

存储引擎 体系结构 连接层 服务层 引擎层 存储层 存储引擎 表类型 查看引擎 查看建表语句 指定存储引擎 ENGINE SHOW engins InnoDB 默认存储引擎 遵循ACID模型 支持事务 行级锁 提高并发访问性能 支持外键 FOREIGN KEY约束 保证数据完整性和正确性 对应文件 xx…...

使用GPT生成python图表

首先,生成一脚本,读取到所需的excel表格 import xlrddata xlrd.open_workbook(xxxx.xls) # 打开xls文件 table data.sheet_by_index(0) # 通过索引获取表格# 初始化奖项字典 awards_dict {"一等奖": 0,"二等奖": 0,"三等…...

[深度学习]yolov9+deepsort+pyqt5实现目标追踪

【YOLOv9DeepSORTPyQt5追踪介绍】 随着人工智能技术的飞速发展,目标追踪在视频监控、自动驾驶等领域的应用日益广泛。其中,YOLOv9作为先进的目标检测算法,结合DeepSORT多目标追踪算法和PyQt5图形界面库,能够为用户提供高效、直观…...

C#_WaitAll、WhenAll、async及await

Task.WhenAll、Task.WaitAll Task.WhenAll 和 Task.WaitAll 都是用于等待多个任务完成的方法,但它们之间有一些重要的区别。 返回类型: Task.WhenAll: 返回一个 Task 对象,该对象表示所有输入任务的联合任务。 Task.WaitAll: 没有返回值。它是一个同步方…...

leetcode hot100零钱兑换Ⅱ

本题可以看出也是背包问题,但区别于之前的01背包问题,这个是完全背包问题的变形形式。 下面介绍01背包和完全背包的区别与联系: 01背包是背包中的物品只能用一次,不可以重复使用,而完全背包则是可以重复使用。01/完全…...

路由器配置DMZ主机映射

路由器配置DMZ主机映射 光猫路由模式配置方法 光猫路由模式是用光猫进行拨号连接,所有设备通过光猫访问互联网,只需要设置光猫的DMZ主机映射地址为局域网主机即可 光猫桥接模式配置方法 光猫桥接模式,是穿透光猫,通过路由器拨…...

ubuntu22.04@Jetson Orin Nano之CSI IMX219安装

ubuntu22.04Jetson Orin Nano之CSI IMX219安装 1. 源由2. 安装2.1 硬件安装2.2 软件配置2.3 新增摄像头 3. 效果4. 参考资料 1. 源由 折腾半天时间,捣鼓这个套装摄像头(IMX219)的安装,死活就是没有这个设备。世界总是这么小,看看遇到问题的大…...

Kettle下载地址

kettle是一款基于java开发的洗数工具,可以通过图像化的操作界面,拖拉拽的操作方式,实现数据导入导出清洗等功能,还支持编写脚本进行数据处理,功能十分强大。 kettle本身是开源免费的,但它的下载地址非常难…...

密码学基本概念

1、信息安全的属性:机密性、认证(消息认证、身份认证)、完整性、不可否认性、可靠性、可用性、可控性、审计。 2、密码学是研究解决机密性、认证(消息认证、身份认证)、完整性、不可否认性这些安全问题的手段&#xf…...

9个最受欢迎的开源自动化测试框架盘点!

自动化测试框架可以帮助测试人员评估多个Web和移动应用程序的功能,安全性,可用性和可访问性。尽管团队可以自己构建复杂的自动化测试框架,但是当他们可以使用现有的开源工具,库和测试框架获得相同甚至更好的结果时,通常…...

Python多线程/多进程内存爆炸真相:GIL锁外的隐性开销、共享对象深拷贝黑洞与零拷贝迁移方案

第一章:Python智能体内存管理策略入门导论Python智能体(如基于LLM的Agent、ReAct架构或Tool-Calling系统)在运行过程中频繁创建、传递与销毁对象,其内存行为远超普通脚本应用。理解CPython底层的引用计数、循环垃圾回收&#xff0…...

如何免费快速转换音频格式:fre:ac音频转换器完整指南

如何免费快速转换音频格式:fre:ac音频转换器完整指南 【免费下载链接】freac The fre:ac audio converter project 项目地址: https://gitcode.com/gh_mirrors/fr/freac 想要高效处理音频文件却不想花钱购买专业软件?fre:ac音频转换器是您的最佳选…...

OpenClaw技能组合拳:GLM-4.7-Flash完成跨平台内容同步

OpenClaw技能组合拳:GLM-4.7-Flash完成跨平台内容同步 1. 为什么需要跨平台内容同步 上周我遇到一个典型的内容创作者困境:在知乎看到一篇优质技术文章,想把它保存到Notion知识库,同时转换成适合公众号发布的格式。传统做法需要…...

轻量级OpenClaw方案对比:nanobot与标准部署性能测试

轻量级OpenClaw方案对比:nanobot与标准部署性能测试 1. 测试背景与动机 最近在为一台闲置的2核4G云主机寻找合适的自动化方案时,我遇到了一个典型的技术选型问题:标准OpenClaw部署对资源要求较高,而新出现的nanobot方案号称是&q…...

IPD实战:如何用DCP决策点避免产品开发中的‘死亡陷阱’(附真实案例)

IPD实战:如何用DCP决策点避免产品开发中的"死亡陷阱" 在硅谷某科技公司的产品复盘会上,CTO盯着投影仪上的数据图表沉默良久——这个投入1200万美元、历时18个月的智能硬件项目,最终因为电池续航不达标而被迫终止。更令人痛心的是&a…...

Beyond Compare 5专业授权生成器:3种高效授权方案完整指南

Beyond Compare 5专业授权生成器:3种高效授权方案完整指南 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen Beyond Compare作为业界领先的文件对比工具,其强大的功能在软件…...

别再傻傻用远程桌面了!手把手教你用华为服务器自带的KVM工具(附初始IP和密码)

华为服务器KVM工具实战指南:解锁高效运维新姿势 第一次接触华为服务器时,我和大多数运维新手一样,本能地打开远程桌面连接工具,输入IP地址准备登录。直到某次机房网络故障,我才发现华为早已在服务器中内置了一把"…...

5G NR PUSCH实战:手把手教你理解Type A/B时域映射与SLIV计算(附避坑指南)

5G NR PUSCH实战:Type A/B时域映射与SLIV计算全解析 从理论到实践:PUSCH时域资源分配的核心逻辑 在5G NR系统中,物理上行共享信道(PUSCH)的时域资源分配直接决定了上行数据传输的效率和可靠性。对于物理层开发工程师而…...

Python 3.14 JIT编译器实测对比:启动耗时降63%、内存开销压减41%,你的服务还在用默认配置?

第一章:Python 3.14 JIT编译器实测性能跃迁全景Python 3.14 引入的实验性 JIT 编译器(基于 Pyjion 与 CPython 运行时深度集成)首次在标准发行版中启用可配置的即时编译通道,显著改变了传统解释执行的性能边界。我们通过统一基准套…...

【LaTex】花体字应用全指南:从基础到高级的字体美化技巧

1. LaTeX花体字入门:为什么需要字体美化? 第一次用LaTeX写论文时,我被导师退回的文档上画满了红圈:"数学符号要用黑板粗体"、"集合论部分需要手写体"、"正文变量用意大利斜体"。当时完全不明白为什…...