最近使用LabVIEW对海康机器人的工业相机进行二次开发,没有专门介绍LabVIEW的开发手册,本文就简单的写一写单相机取图显示以及存图的开发步骤。

如果各位是直接使用IMAQdx开发的,可以直接下载文章末尾附件,后续有时间也会出一版使用Imaqx搭建的单相机取图显示、存图以及更改参数的demo,欢迎各位留言交流。

他们的开发程序demo是和MVS客户端绑定的,因此只要在官网上下载了客户端安装后,相应的路径下会有支持各种开发语言的示例程序。观看本文前,强烈强烈强烈建议先看下这篇文章,海康工业相机参数设置与获取。

对应的SDK路径下的示例程序

LabVIEW文件夹内内容如下:

文件夹名称 描述
MvLVLib 封装的子VI(每个子VI都是通过C的dll封装过来的)
Samples 单相机取图显示的程序
TwoCameraSamples 两个相机取图显示的程序

一、前提

本文章主要对单相机取图显示程序进行解释说明,建议开发者在开发之前可以先看看他们的C语言开发指南手册中流程引导说明,具体介绍了相机开发的通用步骤,以及海康工业相机参数设置与获取的文章。

二、自带示例程序介绍

上述流程也是我们引用子VI的流程,前面板如图所示,主要能实现了相机连续取图以及软触发取图。

后面板逻辑主要是根据点击每个按钮后进行不同的操作:

  1. Refresh Devices:EnumDevices.vi枚举电脑连接相机,并区分网口和U口
  2. Open Device:获取相机信息,CreateHandle.vi创建句柄,OpenDevices.vi打开相机
  3. Continuous:SetEnumValue.vi设置触发为OFF
  4. TriggerMode:SetEnumValue.vi设置触发模式为ON,SetEnumValue.vi设置触发源为软触发(7-软触发),为什么7表示软触发,建议观看开头说的设置海康工业相机参数的文章
  5. Start:GetIntValue.vi获取数据包大小(PayloadSize)的值,GetIntValue.vi获取图像格式的值,这两个参数获取在这里只是演示,可以直接不写。StartGrabbing.vi开始取图,使得AcquisisionFlag为正,触发调用GetOneFrameTimeout.vi进行取图。图中的1080001,2180014可查看MVS,即可看到表示的图像格式。
  6. TriggerOnce:SetCommandValue.vi执行软触发命令
  7. Acquisition中的Stop按钮:StartGrabbing.vi停止抓图
  8. CloseDevice:CloseDevice.vi关闭相机,DestroyHandle.vi销毁句柄,

三、如何设置参数及存图

3.1 设置参数

相机参数(曝光、增益、图像格式、触发等等)获取和设置是在打开设备之后,开始取流之前。

下图为调用SetFloatValue.vi设置曝光

3.2 存bmp图(调用SaveImageToFile.vi)


参考工业相机SD开发指南手册

实际而言,我们只需要知道

参数 描述
nWidth 图像宽度
nHeight 图像高度
pData 图像数据缓存(主动取图接口vi中的 pData Out)
enImageType 保存图像格式 (1-bmp,2-Jpeg,3-Png,4-Tiff)
enPixelType 相机图像格式
nDataLen 数据长度(主动取图接口vi中的 nFrameLen)

四、附件说明

上图所示程序见附件一(链接:https://pan.baidu.com/s/1qAX-8mt3HdMhc3h9ep8KNQ 提取码:z519)

下图Imaqdx程序见附件二(链接:https://pan.baidu.com/s/1KcsWhhOCBvtVtFQej_cutw 提取码:1wfp)

五、后记

海康工业相机的示例程序,涵盖的开发语言比较多,但是就LabVIEW而言,目前提供的示例程序较少,欢迎各位大佬不吝赐教。另外也推荐几个博主,个人感觉其开发内容还是不错的。

海康工业相机LabVIEW二次开发——修改参数、存图相关推荐

  1. 海康摄像头的二次开发(java)

    海康摄像头的二次开发(java) 我第一次接触海康摄像头的二次开发的项目,一开始的时候摸不清套路,走了不少弯路,现在准备把我的一些经验留下来,让大家参考一下. 1.首先到海康的官网下载设备网络SDK: ...

  2. 海康摄像头二次开发python_海康摄像头的二次开发(java)

    海康摄像头的二次开发(java) 我第一次接触海康摄像头的二次开发的项目,一开始的时候摸不清套路,走了不少弯路,现在准备把我的一些经验留下来,让大家参考一下. 1.首先到海康的官网下载设备网络SDK: ...

  3. Linux系统下海康工业相机MVS二次开发-Python

    文章目录 Linux系统下海康工业相机MVS二次开发-Python Linux系统下海康工业相机MVS二次开发-Python 环境:树莓派 Ubuntu系统 编程环境:Python3.7 Node(忘 ...

  4. 海康摄像机-新手二次开发

    一直对海康摄像机的二次开发感兴趣,之前用Delphi做了些DEMO,能预览和抓图,但太过久远了,海康的SDK与Delphi的开发接口都已经升级了,所以这一回再用Delphi做个通用的Unit.希望对有 ...

  5. 海康网络摄像头二次开发

    项目中用到了海康的一款网络摄像头,基于项目自身需求编写软件需要用到海康提供的sdk,通过查看海康提供的示例,决定在第一个分功能示例的基础上进行程序编写.由于我们并没有使用云台,因此将其中的云台控制相关 ...

  6. Java 海康录像机(NVRDVR)二次开发-通过时间下载录像和抓图功能

    海康录像机还是国内市场比较火的录像机吧!反正我也不知道,我也不敢问啊!╮(︶﹏︶)╭话不多说!赶紧去海康官网选择一个相应sdk开放包下载,这里给老铁们奉上地址:盘他⁽⁽ƪ(•̩̩̩̩_•̩̩̩̩)ʃ⁾ ...

  7. C/C++实战——基于Qt框架和visual studio的海康相机SDK二次开发

    最近在进行机器视觉系统的搭建,积累了经验,想和大家讨论.互相学习.相机是图像的来源.为了搭建视觉系统,完成图像分析.机器视觉任务,需要编程控制相机按工作所需的曝光.增益和帧率同步采集和存储图像.工业相 ...

  8. 海康相机-SDK二次开发(NVR)-多相机IPCamera连接采集-opencv图像格式转换

    主要功能: 海康SDK开发,通过连接NVR,实现连接NVR的2个相机同时采集(多线程),并进行opencv图像格式转换. 关键技术点: 1.回调函数 2.YV12->oepncv图像格式转换 3 ...

  9. C#海康摄像机SDK二次开发

    海康球机设备网络SDK开发实践记录 获取PTZ参数 开发手册相关内容截图 C# 代码实现 //获取球机位置信息结构体大小 Int32 size = Marshal.SizeOf(typeof(CHCN ...

最新文章

  1. maven中snapshot版本和正式版本的区别
  2. Python爬虫(十二)_BeautifulSoup4 解析器
  3. 数据结构二:排序(冒泡排序和选择排序)
  4. php cgi远程控制,php-cgi如何使用(php cli模式执行php文件)
  5. (52)Xilinx差分原语-IBUFGDS与OBUFGDS(第11天)
  6. 约瑟夫问题(猴子选大王)
  7. 利用python获取nginx服务的ip以及流量统计信息
  8. 江苏新一代物联网全省商用 全省信号覆盖率达97.5%
  9. 《Java数据结构入门》顺序表详解
  10. python豆瓣镜像_pip使用豆瓣的镜像源
  11. H5页面、微页、轻应用、轻app、场景应用制作工具:
  12. 基于嵌入式ARM的mp3播放器的设计
  13. 恋人/情人/性伴侣/红颜知己
  14. oracle sqlload 704,Oracle Sqlldr optionally enclosed by
  15. Bilibili到底有多少御坂妹?(三)
  16. h5 div自动排列
  17. 循环中continue用法
  18. 嵌入式系统项目设计——电子琴(完整代码)
  19. EasyCode的Mybatis终极版模板
  20. 论坛系统后端的设计与实现

热门文章

  1. OpenCv图像处理之resize(缩放)、transpose、rotate(旋转)、flip(翻转)介绍
  2. Caffe解惑:caffe中的前传和反传是如何确定的?
  3. 单例模式的几种实现方式详解以及原理
  4. 沉浸式夜游的发展应充分挖掘文化内涵
  5. Windows下本地路由表
  6. python基础语法条件判断基础题训练
  7. SSM实现考研助手系统
  8. 使用图片制作3D背景
  9. JS获取当前设备 查看当前系统 最全代码
  10. 新闻资讯小程序app