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

c#中添加visionpro控件(联合编程)

vs添加vp控件

创建窗体应用

右键选择项

点击确定

加载CogAcqfifoTool工具拍照

设置参数保存.vpp

保存为QuickBuild或者job, ToolBlock

加载保存的acq工具

实例化相机工具类

//引入命名空间

using Cognex.VisionPro;

//实例化一个相机工具类

 CogAcqFifoTool cogAcqFifoTool = null;

  //窗口加载 

  private void Form1_Load(object sender, EventArgs e)

  {

      //加载文件夹里面的  相机工具  赋值给  winform  窗口里面的 相机工具 

      //地址  保存好的 相机工具地址  

     string path = @"E:\机器视觉14班\VisionPro\课件\15_ConnectCamera\tb.vpp";

    cogAcqFifoTool = CogSerializer.LoadObjectFromFile(path) as CogAcqFifoTool;

//把加载的工具赋值给winform窗体中的控件

   cogAcqFifoEditV21.Subject = cogAcqFifoTool;  }

设置x64兼容平台

右键属性à

注意:如果保存为QuickBuild, job加载完成之后需要点击复位

点击运行拍照

拍照、保存图像实时显示、关闭相机

拍照

添加button与CogDisplay

Button添加点击事件

 private void button1_Click(object sender, EventArgs e){//判断相机是否连接正常//cogAcqFifoTool.Operator == null  连接失败if (cogAcqFifoTool.Operator!=null){//手动调用相机工具的Run方法,运行相机工具cogAcqFifoTool.Run();//获取相机采集到的图像  显示到cogDisplay1cogDisplay1.Image=cogAcqFifoTool.OutputImage;//设置百分比显示cogDisplay1.Fit();}}

实时显示

private void button2_Click(object sender, EventArgs e){if (button2.Text.Equals("实时显示")){button2.Text = "关闭实时";cogDisplay1.StartLiveDisplay(cogAcqFifoTool.Operator,false);}else{button2.Text = "实时显示";//StopLiveDisplay() 关闭实时显示的方法cogDisplay1.StopLiveDisplay();}}

 

保存图像

方式一

 public void SaveImgage1(ICogImage image){//写到本地磁盘//保存的路径string path = Directory.GetCurrentDirectory()+@"\Image1";//判断 是否有当前文件夹if (!Directory.Exists(path)){//说明没有当前文件//创建文件夹Directory.CreateDirectory(path);}//定义图片名称//随机数//当前时间string imageName = $"{DateTime.Now.ToString("yyyyMMddHHmmsss")}.bmp";//1.通过CogImageFileTool工具保存图像CogImageFileTool fileTool=new CogImageFileTool();fileTool.InputImage = image;//保存  //参数1:保存的路径//参数2:保存原图fileTool.Operator.Open($"{path}\\{imageName}",CogImageFileModeConstants.Write);//运行工具fileTool.Run();}

方式二

public void SaveImgage2(CogDisplay display){//写到本地磁盘//保存的路径string path = Directory.GetCurrentDirectory() + @"\Image2";//判断 是否有当前文件夹if (!Directory.Exists(path)){//说明没有当前文件//创建文件夹Directory.CreateDirectory(path);}//定义图片名称string imageName = $"{DateTime.Now.ToString("yyyyMMddHHmmsss")}.jpg";// 通过Bitmap保存图像Bitmap bmp=   (Bitmap)display.CreateContentBitmap(CogDisplayContentBitmapConstants.Image);//保存图像//参数1:路径//参数2:图像的格式bmp.Save($"{path}\\{imageName}", System.Drawing.Imaging.ImageFormat.Jpeg);}

窗体关闭 释放相机

private void Form1_FormClosing(object sender, FormClosingEventArgs e){//释放相机  if (acq.Operator != null){//找到硬件 并且释放相机  acq.Operator.FrameGrabber.Disconnect(false);}}

http://www.xdnf.cn/news/7761.html

相关文章:

  • 使用脚本备份和还原Windows环境变量
  • 【STM32】自定义打印函数
  • 浪潮服务器配置RAID和JBOD
  • centos系统redis-dump安装
  • Kotlin 极简小炒 P9 - 数组(数组的创建、数组元素的访问与修改、数组遍历、数组操作、多维数组、数组与可变参数)
  • 【JAVA】中文我该怎么排序?
  • Linux系统下nslookup命令的基本使用
  • Python爬虫(32)Python爬虫高阶:动态页面处理与Scrapy+Selenium+BeautifulSoup分布式架构深度解析实战
  • Python包管理工具uv 国内源配置
  • 网感驱动下开源AI大模型AI智能名片S2B2C商城小程序源码的实践路径研究
  • 【数据结构 · 初阶】- 快速排序
  • 基于双通道频谱分析的振动信号故障诊断3
  • Microbiome医口经典思路:退烧药物代谢过程如何进行多组学分析?
  • wps编辑技巧
  • 算子窗口操作
  • 如何使用redis做限流(golang实现小样)
  • 软考 系统架构设计师系列知识点之杂项集萃(66)
  • 信息学奥赛一本通 1853:【08NOIP提高组】传纸条 | 洛谷 P1006 [NOIP 2008 提高组] 传纸条
  • 软件测试知识详解
  • 微服务中API网关作用(统一入口、路由转发、协议转换、认证授权、请求聚合、负载均衡、熔断限流、监控日志)
  • AI护航化工:《山西省危化品视频智能分析指南》下的视频分析重构安全体系
  • elementui初学1
  • Rocky Linux 8.9 升级至 8.10 测试可通过以下步骤完成
  • Ubuntu20.04部署KVM
  • Android Binder线程池饥饿与TransactionException:从零到企业级解决方案(含实战代码+调试技巧)
  • NSSCTF [HGAME 2023 week1]easy_overflow
  • Dify的大语言模型(LLM) AI 应用开发平台-本地部署
  • MySQL中的JSON_CONTAINS函数用法
  • 自动驾驶中的预测控制算法:用 Python 让无人车更智能
  • 微软正式发布 SQL Server 2025 公开预览版,深度集成AI功能