【秣厉科技】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的工具包,均为【秣厉科技】原创,欢迎大家下载体验!

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


相关推荐
格林威15 小时前
C# 相机Burst模式图像采集:使用相机内存配合OpenCvSharp和Halcon实现短时间的高速采集的方法
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
LabVIEW开发17 小时前
把量子纠缠实验搬进屏幕:用 LabVIEW 仿真双光子量子态层析
人工智能·labview·labview知识·labview功能·labview程序
成都佳洋光电科技有限公司2 天前
一文了解位移传感器
工业相机·工业镜头·短波红外·位移传感器·光电知识
成都佳洋光电科技有限公司2 天前
一文了解工业相机是怎么实现触发的?
数码相机·工业相机·工业镜头·短波红外
成都佳洋光电科技有限公司3 天前
一文了解机器视觉成像
图像处理·人工智能·工业相机·工业镜头·短波红外
LabVIEW开发3 天前
TTi CPX400 系列可编程电源的 LabVIEW 远程控制
网络·labview·labview知识·labview功能·labview程序
LabVIEW开发3 天前
LabVIEW中对含噪电压信号求取一阶导数
labview·labview知识·labview功能·labview程序
成都佳洋光电科技有限公司3 天前
一文了解红外成像的基础知识及应用
工业相机·工业镜头·短波红外
格林威4 天前
C#图像快速剪切:使用OpenCvSharp和Halcon优化图像剪切和CPU占用
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
格林威4 天前
C#图像分块处理:图像按行或按块(Tile)切分,多个 CPU 核心同时处理不同的区域
开发语言·图像处理·人工智能·机器学习·计算机视觉·c#·工业相机