在VisionPro中,使用工业相机采像的方式主要有两种:

通过调用CogAcqFifoTool工具的方式取像
通过实现 ICogAcqFifo接口获取图像

  1. 通过CogAcqFifoTool工具取图:
    ① 连接相机到PC
    ② 修改相机和PC至同一网段,修改相机或者本地网卡IP都可以

    ③ 打开VisionPro,从工具栏拖入CogAcqFifoTool工具

    双击打开,然后绑定相机,设置相机参数

    查看实时图像,如果图像出现异常,或者采像非常失败,一般需要设置GigE栏

    ④ 设置完毕,保存当前CogAcqFifoTool工具,名称最好与被绑定的相机有关,为了方便辨识


⑤ 在VS中调用这个VPP文件

 ICogImage img = null;CogAcqFifoTool cameraTest = new cameraTest(); //创建采像工具对象cameraTest = CogSerializer.LoadObjectFromFile(@"C:\Users\1\Desktop\1\Camera_Test.vpp")as CogAcqFifoTool; //加载采像vpp文件cameraTest.Run(); //运行相机cameraTest.Ran += new EventHandler((sender,e) =>{img=cameraTest.OutputImage;//获取图片});
  1. 通过实现 ICogAcqFifo接口获取图像:

    这里通过C#窗体实现一个创建采像工具,然后采集一张图片,完场上图中的效果(注意:如果代码无误的情况下出现相机刷不出来的情况,请检查项目的NetFrameWork版本)
 public partial class Form1 : Form{public Form1(){InitializeComponent();frameGrabbers = new CogFrameGrabbers();if (frameGrabbers.Count > 0){foreach (ICogFrameGrabber item in frameGrabbers){cbb_CameraList.Items.Add(item.Name);}cbb_CameraList.SelectedIndexChanged += new EventHandler(OnFramerGrabberChanged);}else{cbb_CameraList.Items.Add("Not fount camera");}}private CogFrameGrabbers frameGrabbers = null; //声明图像采集器集合对象private ICogAcqFifo iCogAcqFifo = null; //声明图像采集器对象/// 开始采集private void btn_StartAcq_Click(object sender, EventArgs e){int trgNum = 0;cogDisplay1.Image = iCogAcqFifo.Acquire(out trgNum);cogDisplay1.Fit(true);}/// 创建采像工具private void btn_CreateAcqFifo_Click(object sender, EventArgs e){string format = cbb_VideoFormat.SelectedItem.ToString();iCogAcqFifo = frameGrabbers[cbb_CameraList.SelectedIndex].CreateAcqFifo(format, CogAcqFifoPixelFormatConstants.Format8Grey, 0, true); iCogAcqFifo.OwnedGigEVisionTransportParams.PacketSize = 8000;iCogAcqFifo.OwnedGigEVisionTransportParams.LatencyLevel = (int)nud_DelayLevel.Value;iCogAcqFifo.OwnedExposureParams.Exposure = (int)nud_Exposure.Value;}/// 当选择相机的时候触发此事件private void OnFramerGrabberChanged(object sender, EventArgs e){cbb_VideoFormat.Items.Clear();for (int i = 0; i < frameGrabbers[cbb_CameraList.SelectedIndex].AvailableVideoFormats.Count; i++){cbb_VideoFormat.Items.Add(frameGrabbers[cbb_CameraList.SelectedIndex].AvailableVideoFormats[i]);}}/// 关闭窗体的时候断开相机private void Form1_FormClosing(object sender, FormClosingEventArgs e){frameGrabbers[cbb_CameraList.SelectedIndex].Disconnect(false);}}

VISIONPRO中使用工业相机采集图像的两种方式分享相关推荐

  1. shell 不等于_关于shell编程中的整数值比较的两种方式的简单操作实例

    谈一谈关于shell编程中的整数值比较的两种方式 Shell编程有时处理一个对象时,需要我们对对象进行测试. 只有符合要求的才采取下一步操作,这样做的好处可以避免程序出错. 这个测试的对象可以是文件. ...

  2. DLL中导出函数的声明有两种方式

    本文引用自:VC编程时DLL中导出函数的声明有两种方式 一种方式是:在函数声明中加上__declspec(dllexport): 另外一种方式是:采用模块定义(.def)文件声明,(.def)文件为链 ...

  3. C++类中成员变量的初始化有两种方式

    C++类中成员变量的初始化有两种方式: 构造函数初始化列表和构造函数体内赋值.下面看看两种方式有何不同. 成员变量初始化的顺序是按照在那种定义的顺序. 1.内部数据类型(char,int--指针等) ...

  4. c语言返回二叉树的大小,C语言中计算二叉树的宽度的两种方式

    C语言中计算二叉树的宽度的两种方式 二叉树作为一种很特殊的数据结构,功能上有很大的作用!今天就来看看怎么计算一个二叉树的最大的宽度吧. 采用递归方式 下面是代码内容: int GetMaxWidth( ...

  5. python循环展示大写字母_python调用大写函数python中字典的循环遍历的两种方式

    开发中经常会用到对于字典.列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式. 注意: python2和python ...

  6. python中字典的循环遍历的两种方式

    开发中经常会用到对于字典.列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式. 注意: python2和python ...

  7. C语言中存储多个字符串的两种方式

    C语言中存储多个字符串的两种方式 方式一 二维字符串数组 声明: char name[4][10] = { "Justinian", "Momo", " ...

  8. android数据库侵入,Android中实现侵入式状态栏的两种方式

    最近对"爸比讲故事"Android版本进行代码重构的时候,对之前版本的大部分界面的头部侵入式效果,作了一个总结和梳理,在期间查阅了thinkcool的博客和结合亲身实践,总结了2种 ...

  9. Hibernate中自动生成数据库表的两种方式

    第一种方式:Hibernate中利用工具类自动生成数据库表 1.建好POJO object, XML Mapping File,配置文件(hibernate.cfg.xml). 2.编写工具类 imp ...

最新文章

  1. Spatial As Deep: Spatial CNN for Traffic Scene Understanding论文翻译
  2. 如何保证数据库服务器的安全性
  3. 无线通信原理及协议栈(ZigBee、蓝牙等)解析
  4. 多线程:synchronized
  5. 好心帮男朋友洗衣服,他却要分手??
  6. 【CodeForces - 1027C】Minimum Value Rectangle (数学,公式化简,思维,卡常卡memset)
  7. Java实现:月,日,年,周,访问量统计
  8. 数据结构之单链表(头结点)的一些常用操作(增删改查逆)
  9. matlab课程目的,《Matlab应用》课程教学大纲.doc
  10. Hadoop中mapreduce作业日志是如何生成的
  11. qt客户端打包_悬赏问答 - QT 类似QQ的 服务器与客户端程序 程序打包+数据库问题...
  12. jstring转换到C语言所用的char
  13. QQ信任登陆注册开发者帐号
  14. 【车间调度】基于matlab改进的帝国企鹅算法求解车间调度问题【含Matlab源码 2041期】
  15. 桓公与轮扁:轮扁斫轮
  16. V831——完美的单目测距
  17. android 传感器 频率,Android加速度传感器数值的过滤
  18. 使用Nexus添加jar包到私服里
  19. 【Scratch-外观模块】背景切换指令
  20. Python函数绘图

热门文章

  1. 支持物联网的木头 最优雅的智能家居屏幕
  2. 学习前端需要知道的知识
  3. Apache监控与调优(一)Apache目录结构
  4. Integer128==128?false
  5. 扫描仪API接入大全:Twain, WIA 或 两者不具有.[换个思路 春暖花开]
  6. 财务扫描发票,提示缺少颜色校正文件AV210.ICC
  7. 关于Ansi版Delphi剪切板中文乱码的问题
  8. IDEA 中 使用 MyBatis 访问数据库时 报错 Table ‘xxx.t_xxx‘ doesn‘t exist
  9. 从苏宁电器到卡巴斯基第05篇:我在佳木斯的日子(上)
  10. WordPress资源下载主题插件 | WP资源下载管理插件