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

织梦网站wap条友网

织梦网站wap,条友网,创业做旅游网站,建站公司兴田德润好不好一、通过组件连接相机 需要提前在VisionPro里面保存一个CogAcqFifoTool相机工具为 .vpp 定义一个相机工具 CogAcqFifoTool mAcq null;将保存的相机工具放入mAcq中 string path “C:\Acq.vpp”; mAcq (CogAcqFifoTool)CogSerializer.LoadObjectFrommFile(apth);给窗口相机…

一、通过组件连接相机

需要提前在VisionPro里面保存一个CogAcqFifoTool相机工具为 .vpp

  1. 定义一个相机工具
CogAcqFifoTool mAcq = null;
  1. 将保存的相机工具放入mAcq中
string path = @“C:\Acq.vpp”;
mAcq = (CogAcqFifoTool)CogSerializer.LoadObjectFrommFile(apth);
  1. 给窗口相机工具赋值(可有可无)
cogAcqFifoEditv21.Subject = mAcq;
  1. 点击进行拍照
if(mAcq.Operator != null){mAcq.Run(); // 运行相机工具ICogImage mImage = mAcq.OutputImage;  // 获取图片// 显示图片CogRecordDisplay1.Image = mImageg;CogRecordDisplay1.Fit();
}
  1. 关闭相机释放资源
if(mAcq.Operator != null){mAcq.Operator.FrameGrabber.Disconnect(false);
}

二、使用类连接相机

  1. 封装
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using Cognex.VisionPro;namespace Pro20250118_Cognex接口连接相机
{public class Camera{public ICogFrameGrabber grabber = null;//硬件public ICogAcqFifo fifo = null;//采集接口//图像采集完成,传递图片的事件public event Action<ICogImage> OnCompleted;public ICogImage CogImage { get; set; } = null;/// <summary>/// 初始化相机/// </summary>public void InitialCam(){//1. 枚举所有的已连接的硬件CogFrameGrabbers frameGrabbers =new CogFrameGrabbers();//CogFrameGrabbers 是一个集合类对象,当只有一个相机的时候,我们使用frameGrabbers[0]这个对象if (frameGrabbers.Count < 1){MessageBox.Show("没有搜寻到相机");return;}try{//2. 给硬件对象赋值grabber = frameGrabbers[0];//赋值相机对象//3. 创建采集接口//参数1 视频格式 可以参考vp工具初始化相机时的视频格式 参数2 图像格式 参数3 0 参数4 truefifo = grabber.CreateAcqFifo("Generic GigEVision (Mono)", CogAcqFifoPixelFormatConstants.Format8Grey, 0, true);fifo.OwnedExposureParams.Exposure = 10;//设置曝光时间为10ms//4. 添加采集完成事件fifo.Complete += Fifo_Complete;}catch (Exception ex){MessageBox.Show("相机初始化失败");}}int count;//采集完成并创建图像private void Fifo_Complete(object sender, CogCompleteEventArgs e){int numPendingVal, numReadyVal;bool busyVal;try{ICogImage image = null;CogAcqInfo info = new CogAcqInfo();//创建一个采集信息fifo.GetFifoState(out numPendingVal, out numReadyVal, out busyVal);//获取采集状态if (numReadyVal > 0){image = fifo.CompleteAcquireEx(info);//获取图像CogImage = image; OnCompleted?.Invoke(image);//触发事件,传递图片count++;}if (count>3) {GC.Collect();//采集三次以后gc回收一下}}catch (Exception){}}/// <summary>/// 相机拍照/// </summary>public void CamRun(){if (fifo != null)fifo.StartAcquire();}/// <summary>/// 关闭相机/// </summary>public void CloseCam(){CogFrameGrabbers frameGrabbers = new CogFrameGrabbers();foreach (ICogFrameGrabber fg in frameGrabbers){fg.Disconnect(true);//相机断开连接}}public void SetExposure(double exp){if (fifo != null){fifo.OwnedExposureParams.Exposure = exp;//设置相机的曝光时间, 单位是ms}}}
}
  1. 调用方法
// 初始化相机
Camera cam1 = new Camera();
cam1.InitialCam();//初始化相机// 采集图像
cam1.CamRun();//采集图像是有时间的,有可能是100ms 也有可能是200ms// 获取图片
cogRecordDisplay1.Image = null;
cogRecordDisplay1.Image = cam1.CogImage;
cogRecordDisplay1.Fit();
cam1.CogImage = null;// 关闭相机释放资源
cam1.CloseCam();// 设置相机的曝光时间
cam1.SetExposure(2);
  1. 调用完整代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;namespace Pro20250118_Cognex接口连接相机
{public partial class FrmMain : Form{Camera cam1 = new Camera();public FrmMain(){InitializeComponent();}//窗体加载事件private void FrmMain_Load(object sender, EventArgs e){cam1.InitialCam();//初始化相机cam1.OnCompleted += Cam1_OnCompleted;}private void Cam1_OnCompleted(Cognex.VisionPro.ICogImage image){//cogRecordDisplay1.Image = null;//cogRecordDisplay1.Image = image;//cogRecordDisplay1.Fit();}//拍照按钮click事件private void btnTrigger_Click(object sender, EventArgs e){cam1.CamRun();//采集图像是有时间的,有可能是100ms 也有可能是200mswhile (cam1.CogImage == null)Thread.Sleep(10);//让当前线程休眠10mscogRecordDisplay1.Image = null;cogRecordDisplay1.Image = cam1.CogImage;cogRecordDisplay1.Fit();cam1.CogImage = null;}private void FrmMain_FormClosed(object sender, FormClosedEventArgs e){cam1.CloseCam();}private void btnSetExp_Click(object sender, EventArgs e){cam1.SetExposure(double.Parse(textBox1.Text.Trim()));}}
}

三、选择生成的平台

项目——属性——生成——目标平台(我选x64)
在这里插入图片描述

http://www.dtcms.com/wzjs/266960.html

相关文章:

  • 网站建设icp备案优化关键词具体要怎么做
  • php 网站超市伟哥seo博客
  • wordpress分类样式seo入门基础教程
  • 营销型网站多少钱文军seo
  • wordpress 函数手册济南seo怎么优化
  • 武汉市内做网站的公司游戏推广怎么快速拉人
  • 阿勒泰高端网站建设公司搜索引擎广告形式有
  • 动态网站开发与设计无锡百度推广平台
  • 北京商城网站建设如何查看网站权重
  • 做酒店网站设计接外贸订单的渠道平台哪个好
  • 外贸网站的推广方法查域名网站
  • 微信群投票网站怎么做上海站优云网络科技有限公司
  • 兰州企业建设网站个人网站网页首页
  • 怎么做视频解析的网站英文关键词seo
  • 提供建立网站服务的公司点击排名软件哪个好
  • 网站建设的公司系统规划seo网络优化公司哪家好
  • 做的好的排版网站免费信息发布平台网站
  • 浙江品牌网站建设志鸿优化设计电子版
  • jsp做网站框架谷歌seo搜索引擎优化
  • 室内设计作品集案例赏析深圳seo推广
  • 快速建立平台网站开发建站教程详解网络营销推广的要点
  • ckplayer怎么上传做网站网站服务器一年的费用
  • wordpress虚拟资源助推怎么寻找网站关键词并优化
  • 武昌做网站报价优就业seo课程学多久
  • 企业邮箱和个人邮箱的区别系统优化软件
  • 珠海做网站及推广重庆seowhy整站优化
  • wordpress 迁移网站站长交流平台
  • 遵义网站建设oadmin北京seo公司工作
  • 网站建设数据库是什么意思市场调研与分析
  • 物流行业网站源码刷移动关键词优化