海康相机sdk调试错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了海康相机sdk调试错误相关的知识,希望对你有一定的参考价值。

参考技术A

最近在接入海康gige相机时,调试过程中总是莫名出一些错误,但是运行官方示例,一点问题没有,我曾一度怀疑是项目中的使用的艾科sdk跟海康的冲突了,后来反复调试,还是不行,简单的一句话 nRet = MV_CC_GetEnumValue(cameraHandle, "PixelFormat", &stPixelFormat); 经常报 0x80000206 网络相关错误 ,甚至直接crash,最后反复尝试,修改环境,最后发现是 心跳超时 造成的。调试过程中,心跳很容易超时,默认的心跳超时时间是3s,而且官方文档,也早已给出解决方案。记录一下,方便下次查阅。以下是官方的Q&A:

问题 1:用MVS看图像有很多丢包。
问题原因: 网络传输环境异常,导致数据传输丢包。
解决方法: 1、保证网络有足够带宽。2、开启网卡巨帧。3、关闭系统防火墙。4、调节SCPD,慢慢调大,直到不丢包为止,如下图:

问题 3:DHCP下无法设置静态IP?
问题原因: 相机端未发布版本对网关做了限制,0.0.0.0的会显示失败。
解决方法: 重新升级固件。

问题 4:调用sdk执行软触发命令时,软触发命令执行失败。
问题原因: 设置触发源不是软触发。
解决方法: 调用sdk时,在执行软触发命令时,先保证相机处于软触发模式以及触发源为软触发。

问题 5:相机跑一会出现断线情况。
问题原因: 网卡休眠或者网口连接处松动。
解决方法: 1、设置操作系统的电源选项,使计算机不要进入睡眠状态。2、确认下网口是否松掉了。

问题 6:调用 MV_CC_OpenDevice()返回无权限。
问题原因: 1、该相机已经被其它程序占用了。2、可能是设置心跳时间过长,而程序没有执行关闭设备或者销毁设备句柄接口,直接异常退出(在调试模式下常见),导致设备一直被占用着。
解决方法: 1、检查是否已经有别的程序占用了相机,或者在程序中已经被连接。2、需要等心跳时间到或者插拔下相机电源。

问题 7:调试过程中返回错误码。
问题原因: 调试时会引起心跳发送超时。
解决方法: 可以把心跳时间设长(如30s,及设置值为30000),默认是3s,如下图:

问题 8:调用 MV_CC_GetOneFrameTimeout()接口,发现 MV_CC_GetOneFrameTimeout() 返回无数据错误。
问题原因: 对 MV_CC_GetOneFrameTimeout()接口不理解,认为调用一次一定能取到数据。
解决方法: 需要强调 MV_CC_GetOneFrameTimeout()是主动查询方式,不是每次都能获取到数据的,可以增大超时时间。

问题 9:调用 MV_CC_GetOneFrameTimeout()始终无数据。
问题原因: 同时调用了注册图像回调函数。
解决方法: 注册回调和主动获取图像的方式,是不能同时并存的。

问题 10:调试状态异常结束后相机无法打开。
问题原因: 在调试状态下,相机的心跳值会被默认设置成60000ms(60s),目的是避免用户在Visual Studio集成开发环境调试状态下心跳发送超时的情况,但会出现调试状态异常关闭后相机无法打开问题。
解决方法: 建议客户在退出调试之前先将相机关闭。

海康相机开发 SDK安装和开发

 

 

1.1 安装包获取

从官网下载最新版本的MVS安装包,支持Windows xp、Windows 7、Windows 8、Windows 10的32和64位系统。安装过程默认即可。

官网下载链接:http://www.hikvision.com/cn/download_more_960.html

 

1.2 安装目录介绍

MVS安装包由四个组件构成,分别是MVS客户端、SDK开发包、驱动、GenICam。安装过程大概1-3分钟。我安装在“D:\\Program\\MVS”路径,目录结构如下:

技术图片

1.3 效果展示

建议安装成功后,连接相机,打开MVS客户端,查看相机连接和图像预览的效果,确认环境正常后,再开始基于SDK的二次开发。如下:

技术图片

 包含目录

  海康

E:\\Software\\MVS\\MVS\\Development\\Includes

 opencv 

 

D:\\software\\opencv3.4.1\\include
D:\\software\\opencv3.4.1\\include\\opencv
D:\\software\\opencv3.4.1\\include\\opencv2

  

技术图片

 

库目录

海康

 E:\\Software\\MVS\\MVS\\Development\\Libraries\\win64

  

opencv

D:\\software\\opencv3.4.1\\x64\\vc14\\lib

  

技术图片

附加依赖项

海康相机

MvCameraControl.lib

  

opencv

opencv_aruco341.lib
opencv_bgsegm341.lib
opencv_bioinspired341.lib
opencv_calib3d341.lib
opencv_ccalib341.lib
opencv_core341.lib
opencv_cudaarithm341.lib
opencv_cudabgsegm341.lib
opencv_cudacodec341.lib
opencv_cudafeatures2d341.lib
opencv_cudafilters341.lib
opencv_cudaimgproc341.lib
opencv_cudalegacy341.lib
opencv_cudaobjdetect341.lib
opencv_cudaoptflow341.lib
opencv_cudastereo341.lib
opencv_cudawarping341.lib
opencv_cudev341.lib
opencv_datasets341.lib
opencv_dnn341.lib
opencv_dnn_objdetect341.lib
opencv_dpm341.lib
opencv_face341.lib
opencv_features2d341.lib
opencv_flann341.lib
opencv_fuzzy341.lib
opencv_hfs341.lib
opencv_highgui341.lib
opencv_imgcodecs341.lib
opencv_imgproc341.lib
opencv_img_hash341.lib
opencv_line_descriptor341.lib
opencv_ml341.lib
opencv_objdetect341.lib
opencv_optflow341.lib
opencv_phase_unwrapping341.lib
opencv_photo341.lib
opencv_plot341.lib
opencv_reg341.lib
opencv_rgbd341.lib
opencv_saliency341.lib
opencv_shape341.lib
opencv_stereo341.lib
opencv_stitching341.lib
opencv_structured_light341.lib
opencv_superres341.lib
opencv_surface_matching341.lib
opencv_text341.lib
opencv_tracking341.lib
opencv_video341.lib
opencv_videoio341.lib
opencv_videostab341.lib
opencv_xfeatures2d341.lib
opencv_ximgproc341.lib
opencv_xobjdetect341.lib
opencv_xphoto341.lib

  

技术图片

 

以上是关于海康相机sdk调试错误的主要内容,如果未能解决你的问题,请参考以下文章

海康相机开发 SDK安装和开发

海康8600平台提示RTSP返回状态失败

海康工业相机支持web集成吗

海康相机自动发现

海康360°如何调自动训拍

海康威视摄像头ip地址怎么查