【秣厉科技】LabVIEW工具包——HIKRobot(海康机器人系列)

文章目录


前言

HIKRobot 工具包,将计划在 LabVIEW 环境下实现多种 "海康机器人" 公司的设备接口。

目前已实现:
MV_Camera,即工业相机(型号以 "MV-C" 开头)的接口,可用于工业相机的图像采集与参数配置,并兼容 GigE 、USB3.0 等多种协议。采集图像支持多种格式,包括 Mat 类型,可与 OpenCV 工具包对接,进行后续图像处理。

更多设备接口将会陆续推出,敬请期待!


安装

此工具包免费,但其中包含的几个非必须VI,需要依赖我们的 OpenCV 工具包 或 NI Vision Development 模块。

首先获取安装包,可以下载本文绑定的 CSDN 资源,也可以从我的官网下载。

官网地址https://www.molitecservice.com

系统要求:Windows 64位,LabVIEW>=2018,兼容 32位 与 64位。

下载后,直接双击 .vip 文件,将在VIPM环境下进行安装。

安装过程中,软件会通过检查系统环境,决定您是否需要安装工业相机驱动(MVS_SDK)。如果需要,将会自动进入安装向导,请按照向导提示进行安装。安装结束后,需要重启LabVIEW

(驱动安装包位于 <LabVIEW 安装路径>/vi.lib/Molitec/HIKRobot/_libs 文件夹中。如果将 VI 导出成 exe,那么运行 exe 的电脑也需要安装这个驱动。可以将安装包拷贝到目标电脑,手动安装。)


函数选板

安装完成后,工具包位于:函数选板>>Addons>>Molitec>>HIKRobot

目前只有一个工业相机类:MV_Camera。


范例与帮助

在LabVIEW下,点击菜单栏:帮助(Help)>>查找范例(Find Examples)

在窗口左侧点击目录结构(Directory Structure),右侧找到并展开Molitec目录。

HIKRobot 工具包的范例位于 HIKRobot 子目录下:


范例1:单相机连续采样

一次完整的相机采样过程,需依次调用的API:

SDK_Init search new set or get start read stop delete SDK_Final
SDK初始化 搜索相机 创建相机 参数读写 开始采样 读取图像 停止采样 注销相机 SDK反初始化

对于单相机连续采样,范例程序框图如下:

提示:

1、运行范例或使用工具包函数前,请先关闭其他可能占用相机的客户端软件,以免造成冲突;

2、如果使用 GigE 相机,推荐您在网络适配器设置中,开启 "巨型帧" 并设为 9KB MTU,以便达到最佳性能;

3、使用 fit_to_center.vi 可以让 picture 控件自动将图像缩放并居中;

4、LabVIEW 的图形渲染效率不高,在超高分辨率下,picture 画面可能会一闪一闪的。如果出现此现象,可以对 picture 控件点右键,然后取消勾选 "Erase First" 选项。或者也可以将 LabVIEW 切换至高性能显卡运行;

5、工业相机一般都是小光圈、低曝光的特性。为了避免图像漆黑一片,本范例通过 set 函数设置了自动曝光参数 ExposureAuto,并且在拍摄环境中适当补充了额外光源。(更多可配参数,可在VI帮助文档中查看)


范例2:单相机触发模式

所谓触发模式,就是以软件或硬件传递的触发信号作为 "快门",每次触发时采集一帧画面。

以下范例将 start 函数切换至 Trigger 模式,并设置触发源为 Software。然后通过点击面板的 Trigger 按钮,手动发送触发信号。read 函数只会在收到触发信号时返回一帧画面,否则抛出超时错误。


范例3:多相机并行采样

如下图,多个相机可以并行采样,分别独占一个线程。其中 SDK 初始化 与 反初始化,分别只须进行一次。


对接 OpenCV 与 NI Vision

将范例1中的 read.vi 替换成选板中的 read_to_Mat.vi,就可以将采集的工业相机画面输出为 Mat 格式,然后再使用 OpenCV 的相关API进行图像处理。如下图,采集画面后计算直方图。

类似的,替换成 read_to_IMAQ.vi 后,可以读取为 IMAQ 格式,然后使用 NI Vision 进行直方图计算。

用户可以根据自己的使用习惯,选择对接哪种图像处理工具。


帮助文档

函数配有详细帮助文档,对函数点右键>>Help,打开对应的帮助文档。


总结

本系列博文,将为大家带来多种基于LabVIEW的工具包,均为【秣厉科技】原创,欢迎大家下载体验!

各位看官有什么想法、建议、吐槽、批评,或新奇的需求,也欢迎留言讨论。更多内容将持续奉上。


相关推荐
fanchenxinok2 天前
基于图莫斯的CAN UDS诊断上位机-LabVIEW版本(十九):TOOMOSS_SID2F_InputOutputControl.vi — 输入输出控制
labview·uds诊断
9稳8 天前
基于组态的双向人行道交通灯控制系统设计
开发语言·网络·数据库·labview·plc
LabVIEW开发9 天前
LabVIEW远程调试实战:从“被迫接受”到“高效真香”
labview
猎头南楼9 天前
新型电力系统下的储能控制仿真:从策略研发到工程落地的关键技术挑战
labview
fanchenxinok9 天前
基于图莫斯的CAN UDS诊断上位机-LabVIEW版本(十七):TOOMOSS_SID19_ReadDTCInformation.vi — 读取DTC信息
labview·dtc·sid19
神电测控9 天前
新品发布:32通道50MS/s同步并行14位采集模块PG-FMC9249(支持任意FPGA/ZYNQ,兼容LabVIEW FPGA软件开发)
fpga开发·labview·ni·神电测控·王电令·ad9249·32通道
电气_空空10 天前
基于 LABVIEW 的虚拟仪器温度检测系统的设计
labview
fanchenxinok10 天前
基于图莫斯的CAN UDS升级上位机-LabVIEW版本(十五):总结篇
labview·uds升级·uds刷写
fanchenxinok11 天前
基于图莫斯的CAN UDS升级上位机-LabVIEW版本(十六):从刷写到诊断的功能扩展
labview·诊断·uds
fanchenxinok11 天前
基于图莫斯的CAN UDS升级上位机-LabVIEW版本(十四):打包与安装应用程序
labview·安装·升级上位机·uds刷写