海康工业相机LabVIEW二次开发——修改参数、存图
最近使用LabVIEW对海康机器人的工业相机进行二次开发,没有专门介绍LabVIEW的开发手册,本文就简单的写一写单相机取图显示以及存图的开发步骤。
如果各位是直接使用IMAQdx开发的,可以直接下载文章末尾附件,后续有时间也会出一版使用Imaqx搭建的单相机取图显示、存图以及更改参数的demo,欢迎各位留言交流。
他们的开发程序demo是和MVS客户端绑定的,因此只要在官网上下载了客户端安装后,相应的路径下会有支持各种开发语言的示例程序。观看本文前,强烈强烈强烈建议先看下这篇文章,海康工业相机参数设置与获取。
对应的SDK路径下的示例程序
LabVIEW文件夹内内容如下:
文件夹名称 | 描述 |
---|---|
MvLVLib | 封装的子VI(每个子VI都是通过C的dll封装过来的) |
Samples | 单相机取图显示的程序 |
TwoCameraSamples | 两个相机取图显示的程序 |
一、前提
本文章主要对单相机取图显示程序进行解释说明,建议开发者在开发之前可以先看看他们的C语言开发指南手册中流程引导说明,具体介绍了相机开发的通用步骤,以及海康工业相机参数设置与获取的文章。
二、自带示例程序介绍
上述流程也是我们引用子VI的流程,前面板如图所示,主要能实现了相机连续取图以及软触发取图。
后面板逻辑主要是根据点击每个按钮后进行不同的操作:
- Refresh Devices:EnumDevices.vi枚举电脑连接相机,并区分网口和U口
- Open Device:获取相机信息,CreateHandle.vi创建句柄,OpenDevices.vi打开相机
- Continuous:SetEnumValue.vi设置触发为OFF
- TriggerMode:SetEnumValue.vi设置触发模式为ON,SetEnumValue.vi设置触发源为软触发(7-软触发),为什么7表示软触发,建议观看开头说的设置海康工业相机参数的文章
- Start:GetIntValue.vi获取数据包大小(PayloadSize)的值,GetIntValue.vi获取图像格式的值,这两个参数获取在这里只是演示,可以直接不写。StartGrabbing.vi开始取图,使得AcquisisionFlag为正,触发调用GetOneFrameTimeout.vi进行取图。图中的1080001,2180014可查看MVS,即可看到表示的图像格式。
- TriggerOnce:SetCommandValue.vi执行软触发命令
- Acquisition中的Stop按钮:StartGrabbing.vi停止抓图
- 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二次开发——修改参数、存图相关推荐
- 海康摄像头的二次开发(java)
海康摄像头的二次开发(java) 我第一次接触海康摄像头的二次开发的项目,一开始的时候摸不清套路,走了不少弯路,现在准备把我的一些经验留下来,让大家参考一下. 1.首先到海康的官网下载设备网络SDK: ...
- 海康摄像头二次开发python_海康摄像头的二次开发(java)
海康摄像头的二次开发(java) 我第一次接触海康摄像头的二次开发的项目,一开始的时候摸不清套路,走了不少弯路,现在准备把我的一些经验留下来,让大家参考一下. 1.首先到海康的官网下载设备网络SDK: ...
- Linux系统下海康工业相机MVS二次开发-Python
文章目录 Linux系统下海康工业相机MVS二次开发-Python Linux系统下海康工业相机MVS二次开发-Python 环境:树莓派 Ubuntu系统 编程环境:Python3.7 Node(忘 ...
- 海康摄像机-新手二次开发
一直对海康摄像机的二次开发感兴趣,之前用Delphi做了些DEMO,能预览和抓图,但太过久远了,海康的SDK与Delphi的开发接口都已经升级了,所以这一回再用Delphi做个通用的Unit.希望对有 ...
- 海康网络摄像头二次开发
项目中用到了海康的一款网络摄像头,基于项目自身需求编写软件需要用到海康提供的sdk,通过查看海康提供的示例,决定在第一个分功能示例的基础上进行程序编写.由于我们并没有使用云台,因此将其中的云台控制相关 ...
- Java 海康录像机(NVRDVR)二次开发-通过时间下载录像和抓图功能
海康录像机还是国内市场比较火的录像机吧!反正我也不知道,我也不敢问啊!╮(︶﹏︶)╭话不多说!赶紧去海康官网选择一个相应sdk开放包下载,这里给老铁们奉上地址:盘他⁽⁽ƪ(•̩̩̩̩_•̩̩̩̩)ʃ⁾ ...
- C/C++实战——基于Qt框架和visual studio的海康相机SDK二次开发
最近在进行机器视觉系统的搭建,积累了经验,想和大家讨论.互相学习.相机是图像的来源.为了搭建视觉系统,完成图像分析.机器视觉任务,需要编程控制相机按工作所需的曝光.增益和帧率同步采集和存储图像.工业相 ...
- 海康相机-SDK二次开发(NVR)-多相机IPCamera连接采集-opencv图像格式转换
主要功能: 海康SDK开发,通过连接NVR,实现连接NVR的2个相机同时采集(多线程),并进行opencv图像格式转换. 关键技术点: 1.回调函数 2.YV12->oepncv图像格式转换 3 ...
- C#海康摄像机SDK二次开发
海康球机设备网络SDK开发实践记录 获取PTZ参数 开发手册相关内容截图 C# 代码实现 //获取球机位置信息结构体大小 Int32 size = Marshal.SizeOf(typeof(CHCN ...
最新文章
- maven中snapshot版本和正式版本的区别
- Python爬虫(十二)_BeautifulSoup4 解析器
- 数据结构二:排序(冒泡排序和选择排序)
- php cgi远程控制,php-cgi如何使用(php cli模式执行php文件)
- (52)Xilinx差分原语-IBUFGDS与OBUFGDS(第11天)
- 约瑟夫问题(猴子选大王)
- 利用python获取nginx服务的ip以及流量统计信息
- 江苏新一代物联网全省商用 全省信号覆盖率达97.5%
- 《Java数据结构入门》顺序表详解
- python豆瓣镜像_pip使用豆瓣的镜像源
- H5页面、微页、轻应用、轻app、场景应用制作工具:
- 基于嵌入式ARM的mp3播放器的设计
- 恋人/情人/性伴侣/红颜知己
- oracle sqlload 704,Oracle Sqlldr optionally enclosed by
- Bilibili到底有多少御坂妹?(三)
- h5 div自动排列
- 循环中continue用法
- 嵌入式系统项目设计——电子琴(完整代码)
- EasyCode的Mybatis终极版模板
- 论坛系统后端的设计与实现