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添加点击事件

cs 复制代码
 private void button1_Click(object sender, EventArgs e)

 {



     //判断相机是否连接正常

     //cogAcqFifoTool.Operator == null  连接失败

     if (cogAcqFifoTool.Operator!=null)

     {

         //手动调用相机工具的Run方法,运行相机工具

         cogAcqFifoTool.Run();

         //获取相机采集到的图像  显示到cogDisplay1



         cogDisplay1.Image=cogAcqFifoTool.OutputImage;

         //设置百分比显示

         cogDisplay1.Fit();



     }

 }

实时显示

cs 复制代码
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();

     }

 }

保存图像

方式一

cs 复制代码
 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();

  }

方式二

cs 复制代码
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);

 }

窗体关闭 释放相机

cs 复制代码
private void Form1_FormClosing(object sender, FormClosingEventArgs e)

 {

     //释放相机  

     if (acq.Operator != null)

     {

         //找到硬件 并且释放相机  

         acq.Operator.FrameGrabber.Disconnect(false);

     }

 }
相关推荐
崖边看雾5 分钟前
同步上下文管理器规则
开发语言·数据库
名字还没想好☜9 小时前
Python f-string 进阶:数字格式化、对齐填充、调试 = 号与嵌套表达式
开发语言·数据库·python·字符串格式化·f-string
hez201011 小时前
.NET 11 Runtime Async 详解
c#·.net·.net core
一壶浊酒..12 小时前
Scrape Webpack练习
开发语言·javascript·webpack
命运之光12 小时前
【C语言完整代码】就诊信息管理系统
java·c语言·开发语言
命运之光13 小时前
【C语言完整代码】图书管理系统:图书馆场景下的增删改查实战
c语言·开发语言
猿长大人13 小时前
C# | Serilog 新手入门
开发语言·c#·.net·log
在世修行15 小时前
从零打造 C# 工业视觉检测系统(七):串口通信 SerialPort 封装与开发
开发语言·c#·modbus rtu·rs232/rs485
Hammer_Hans15 小时前
DFT笔记98
java·开发语言·数据库
qq_4480111616 小时前
C语言中的野指针和空指针
c语言·开发语言·单片机