海康工业相机LabVIEW二次开发

您所在的位置:网站首页 labview图像采集程序 海康工业相机LabVIEW二次开发

海康工业相机LabVIEW二次开发

2024-06-30 16:16| 来源: 网络整理| 查看: 265

最近使用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设置触发为OFFTriggerMode: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而言,目前提供的示例程序较少,欢迎各位大佬不吝赐教。另外也推荐几个博主,个人感觉其开发内容还是不错的。 在这里插入图片描述 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3