海康工业相机连续存图、录像功能介绍

这篇具有很好参考价值的文章主要介绍了海康工业相机连续存图、录像功能介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


在使用工业相机做日常的数据采集,分析过程中,存图、录像功能必不可少,但是在使用该功能中,会出现丢帧、少图等现象,本文简单介绍下存图、录像使用过程中的技术瓶颈与解决方法,本文以介绍连续抓图为主,录像功能原理基本一致;

1.MVS连续存图功能基本使用方法

i. MVS通用设置中,设置图像路径、存图格式
海康工业相机连续存图、录像功能介绍
图1:MVS中设置存储路径
海康工业相机连续存图、录像功能介绍

图2:MVS中设置图片格式

ii. MVS开启连续抓图功能后,开始取流存图
海康工业相机连续存图、录像功能介绍

图3:MVS中设置图片格式

海康工业相机连续存图、录像功能介绍

图4:MVS中设置图片格式

2.抓图测试与实际问题分析

a) 相机参数
MV-CA050-20UM相机,图像分辨率为2048*2048,黑白mono8图像,存图格式为bmp
采集帧率90fps,使用触发模式,单次触发,采集1023张图片
b) 测试结果:
海康工业相机连续存图、录像功能介绍
图4:MVS抓图结果
海康工业相机连续存图、录像功能介绍

	图5:本地存图结果

预计采集1023张图片,实际抓图398张图片,丢帧帧数625帧,采集图像数1023张
c) 原因分析
在抓图过程中,缓存使用率会上升,那么,先增加缓存大小,在通用设置里面,设置缓存大小
海康工业相机连续存图、录像功能介绍

图6:存图缓存节点设置

存图缓存节点设置到100后,再次测试
海康工业相机连续存图、录像功能介绍

图7: MVS抓图结果

预计采集1023张图片,实际抓图475张图片,丢帧帧数546帧,采集图像数1021张
继续增大缓存节点,对比不同缓存节点,对抓图数量的影响,如下表
取流缓存节点 录像缓存节点 采集图像数 存图图像数 丢帧图像数

取流缓存节点 录像缓存节点 采集图像数 存图图像数 丢帧图像数
2 2 1023 398 625
2 100 1021 475 546
2 512 1008 889 119
2 800 1022 1022 0
30 800 1023 1023 0

从结果来看,将缓存节点设置的足够大,能够满足一定时刻的抓图需求
但是也存在两个问题:
1.当缓存节点继续加大时,计算机内存占用很大(3.28G上升到6.5G)MVS会提示报错,由此可见,缓存不可无限加大
海康工业相机连续存图、录像功能介绍

图8:存图缓存节点设置报错

2.图像在缓存里面,采集、存储耗时长,采集1024张图片,只需要11s左右,而完成存储需要30s以上

d) 验证不同硬盘写入速度对图片保存的影响

取流缓存节点 录像缓存节点 采集图像数 存图图像数 丢帧图像数
2 2 1023 398 625
2 100 1021 475 546

当设置录像缓存节点为100时,存图数量比节点1时,增加了76张
那么当缓存节点小时,因素是什么?
我们使用CrystalDiskMark8,来测试硬盘读写速度,结果如下:
海康工业相机连续存图、录像功能介绍

图9:机械硬盘读写速度

硬盘写入速度为93.53M,而一张图像2048*2048,黑白mono8的bmp图像大小为4MB
93.53M的写入速度,支持101.71/4=23.38,23.38张图片同时写入,而相机采集帧率为90fps,
当写入速度,低于采集速度时,就会产生大量的丢帧

那么换用ssd固态硬盘,来提高硬盘写入速度
海康工业相机连续存图、录像功能介绍

图10:固态硬盘读写速度
数据来看,这块SSD有点拉跨

那么重复测试结果如下:

取流缓存节点 录像缓存节点 采集图像数 存图图像数 丢帧图像数
2 2 1023 568 455
2 100 1016 522 494
2 512 1014 794 220
30 512 1023 910 113

从结果来看,
提高硬盘读写速度,能够保存到更多的图片,但是还是会存在丢帧,需要配合缓存节点使用,才能保证不丢帧
SSD写速度达到了123.10M,理论上能够存储30.75张图片,但是相较于相机90fps的帧率,还是远远不够的
注意:这里有个误区,正常的SSD速度,一般在300、500MB/s,而本文中使用的ssd仅有123MB/s,原因在于工具中的参数,测试文件大小为16MB,而硬盘的读写速度与文件大小息息相关,而工业相机的图像大小通常在几百k~20M不等,因此,硬盘读写速度,一般都是低于理论值的;
海康工业相机连续存图、录像功能介绍

图11:CrystalDiskMark工具参数介绍

如果要继续提升硬盘读写速度,那么就要考虑更高速的硬盘方案

  • PCIe 5.0 SSD 读取速度可达 10GB / s
  • RAID方案(RAID磁盘阵列(Redundant Array of Independent Disks)通过同时使用多个磁盘,提高了传输速率。RAID通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量,理论上读写速度是单片硬盘的N倍)

e) 验证不同图片格式对图片保存的影响
在MVS通用设置中,可以设置不同的图像保存格式
海康工业相机连续存图、录像功能介绍

 图12:MVS不同存图格式设置 

选择不同的图像格式,测试结果如下

硬盘类型 保存格式 取流缓存节 录像缓存节点 采集图像数 存图图像数 丢帧图像数
SSD Bmp 2 2 1023 568 455
SSD JPEG 2 2 1023 600 423
SSD Bmp 30 200 1023 629 394
SSD JPEG 30 200 1023 776 247
SSD BMP 2 512 1014 794 220
SSD JPEG 2 512 1023 1023 0
SSD PNG 2 512 1022 575 447
SSD TIFF 2 512 1014 920 94
SSD RAW 2 512 1013 917 96

不同的图像存储格式,对图片保存数量也是有影响的,如图所示,jpeg搭配高缓存节点可以完全保存下来,但是这里的结论并不充分,原因受篇幅限制,不详细展开

总结

  • 取流速度:相机帧率90fps,那么每一帧的处理时间,只有小于1000/90=11ms,才能不丢帧的情况下,保存完所有图像
  • Jpeg、PNG,都是压缩图像数据的方法,把几MB大小的图片,压缩成几百kb的小文件,此时,硬盘读写速度不再是瓶颈,而压缩时间变成了新的瓶颈,缩短压缩数据的时间,只能提高cpu的性能,使用更快更强的CPU
  • 只有当(图像处理(压缩时间)+硬盘写入时间)<取流速度时,才能不丢帧
  • 当(图像处理(压缩时间)+硬盘写入时间)>取流速度时,就需要缓存节点,将待处理的图片,保存至内存中,待CPU空闲后,慢慢写入硬盘
  • 当(图像处理(压缩时间)+硬盘写入时间)>取流速度时,且图像数据源源不断,缓存溢出后,丢帧现象将不可避免

3. SDK代码开发关键接口介绍

相机参数设置:

参数名称 节点名称 备注
图像宽 Width 2048
图像高 Height 2048
图像格式 PixelFormat Mono8
触发出图数 AcquisitionBurstFrameCount 1023 收到一个软触发信号,参考当前相机帧率,最大帧率采集
帧率设置 AcquisitionFrameRate 90
帧率设置使能 AcquisitionFrameRateEnable True
触发模式 TriggerMode On
触发源 TriggerSource Software

从上到下,伪代码如下:

nRet = MV_CC_SetIntValue(handle,"Width",2048);
nRet = MV_CC_SetIntValue(handle,"Height",2048);
nRet = MV_CC_SetEnumValue(handle, "PixelFormat", PixelType_Gvsp_Mono8);
nRet = MV_CC_SetIntValue(handle,"AcquisitionBurstFrameCount",1023);//相机仅支持0-1023
nRet = MV_CC_SetFloatValue(handle, "AcquisitionFrameRate", 5);
nRet = MV_CC_SetBoolValue(handle, "AcquisitionFrameRateEnable", true);
nRet = MV_CC_SetEnumValue(handle, "TriggerMode", MV_TRIGGER_MODE_ON);
nRet = MV_CC_SetEnumValue(handle,"TriggerSource",MV_TRIGGER_SOURCE_SOFTWARE);

图像缓存节点设置

nRet = MV_CC_SetImageNodeNum(handle,100);

注:SDK是没有录像缓存节点的,仅有取流缓存节点,两者效果一致)
存图接口:
海康工业相机连续存图、录像功能介绍
参考例程下载:
https://one.hikvision.com/#/link/qj3vswclAd3RjjdIuUoW 提取密码:xw9o文章来源地址https://www.toymoban.com/news/detail-450472.html

到了这里,关于海康工业相机连续存图、录像功能介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • C# 开源SDK 工业相机库 调用海康相机 大恒相机

    C# 开源SDK 工业相机库 调用海康相机 大恒相机

    c# 相机库,含海康、大恒品牌2D相机的常用功能。 底层采用回调+信号量模式封装 ,最大程度减小线程资源,提高采图效率。 开源地址 :https://gitee.com/laomaogu/mgcamctrl 现只兼容了大恒和海康,都是常用的 其他相机,看我老板啥时候换品牌吧,或者换老板? 当然如果小伙伴感兴

    2024年04月26日
    浏览(61)
  • Python 调用海康机器人工业相机

    Python 调用海康机器人工业相机

    一、前期准备 1、python环境搭建 2、安装MVS软件 3、网上博客参考 1)RTSP(Runtime Stream Protocol)协议方向 (很遗憾,此路不通!!!) 因为我们用的 海康机器人工业相机 MV-CU060-10GM 这款相机,不支持 RTSP 协议。 如下博客适用于 海康威视摄像头,并不适用于 海康工业相机,如

    2024年02月16日
    浏览(8)
  • 海康工业相机SDK + OpenCV实例(4):相机参数设置详解

    前文海康工业相机SDK + OpenCV实例(3):相机初始化Bug调试讲述了相机初始化可能遇到的问题。本文讲解海康工业相机设置参数的相关接口,其中,会重点讲解 自动曝光时间调整亮度 , 图像对比度调整 。 海康SDK提供一系列参数设置的接口,本节主要讲解几个万能接口的使用,

    2024年02月11日
    浏览(237)
  • 机器视觉海康工业相机SDK参数设置获取

    机器视觉海康工业相机SDK参数设置获取

    视觉人机器视觉培训-缺陷检测项目-食品行业草鸡蛋外观检测 相机参数类型可分为六类,除 command 参数外,每一类都有其对应的设置与获取函数接口。 表 1 参数类型及对应函数接口介绍 *详细函数接口可参考 SDK 手册: ​C:Program Files (x86)MVSDevelopmentDocumentations 相机参数类型

    2024年02月07日
    浏览(17)
  • 海康机器人工业相机IP设置方式
  • Qt+opencv+Linux+海康工业相机连接

    Qt+opencv+Linux+海康工业相机连接

           本人需要在树莓派上部署深度学习推理模型 ,由于本实验室只有海康工业相机,因此通过借鉴博客和自主调试,完成了模型的部署。本文主要讲述如何在基于linux的Qt中成功连接海康工业相机,第一次尝试写博客,练练手感。       1、安装海康工业相机自带的MVS  

    2024年02月01日
    浏览(13)
  • 海康威视监控相机的SDK与opencv调用(非工业相机)

    海康威视监控相机的SDK与opencv调用(非工业相机)

    本篇主要对海康威视的监控相机的SDK回调进行研究,并于opencv结合,保存图像,以供后续其他处理,开发语言为C++ 2.1 海康SDK介绍 海康SDK下载地址 根据自身编译环境,下载对应的SDK,需要注意的是,不要和工业相机SDK相混淆,工业相机好像是MVS是什么玩意儿,现在暂时没研究

    2024年02月04日
    浏览(21)
  • Baumer工业相机堡盟工业相机软件CameraExplorer常见功能使用说明

    Baumer工业相机堡盟工业相机软件CameraExplorer常见功能使用说明

    Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理。 Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外,该相机还具有快速数据传输、低功耗、易于集成以及高度可扩

    2024年02月04日
    浏览(12)
  • C++下OPENCV驱动调用海康GigE工业相机

    C++下OPENCV驱动调用海康GigE工业相机

    第一章 Ubuntu22下OpenCV4.6.0+contrib模块编译安装 第二章 ubuntu22下C++ kdevelop环境搭建:OpenCV示例 第三章 C++下OPENCV驱动调用海康GigE工业相机 在前两章内笔者详细叙述了如何编译以及加载opencv库,本文将从opencv出发,在linux系统下利用海康工业摄像机的SDK完成基于海康工业相机的o

    2024年02月06日
    浏览(16)
  • 海康机器人工业相机SDK MVS安装教程

    海康机器人工业相机SDK MVS安装教程

    海康机器人是面向全球的机器视觉和移动机器人产品及解决方案提供商,业务聚焦于工业物联网、智慧物流和智能制造,构建开放合作生态,为工业和物流领域用户提供服务,以创新技术持续推动智能化,引领智能制造进程。 进入官网 https://www.hikrobotics.com/cn,点击下载中心

    2024年02月10日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包