海康威视在linux下使用笔记 | 您所在的位置:网站首页 › 海康威视摄像头安装流程 › 海康威视在linux下使用笔记 |
经过两天的踩坑,因为是第一次用海康威视的相机,下面是海康的相机在linux下的二次开发和在ros下驱动的笔记。
一、下载官方海康威视Linux系统的MVS SDK:
官方网址:海康机器人-机器视觉-下载中心 选择“机器视觉工业相机客户端MVS V2.1.0(Linux)”下载。 解压后有适应各种架构计算机的压缩包:其中常用的是: 树梅派:armhf架构 jetson nano: aarch64架构 PC: x86_64架构 解压后安装:里面有一个INSTALL文件可以参考步骤如下: 安装前,需要获取root权限:sudo su 或 su root tar-xzvf 文件名: 解压压缩包 cd MVS-2.1.0_x86_64_20201228/ : 进入文件根目录 ./setup.sh :运行安装脚本 安装完成在路径下/opt/MVS下会看到:
其中: Sample:示例程序 lib:封装好的so库 include:头文件 doc:说明文档 bin:可运行文件,包括客户端软件等 运行demo,测试linux环境是否搭建成功:运行之前先阅读文件夹下的README,步骤如下,如GrabImage: 进入文件GrabImage maek编译 ./GrabImage运行可执行文件 运行后会枚举网络中的设备,输入相应的camera index,如0,回车 结果如下: 注意事项: 1.关闭防火墙 2.配置ip使得相机的ip和PC的ip在同一网段: Linux 下建议开启巨帧,开启方法(仅供参考,可选择操作部分): 1、临时开启:ifconfig eth0 mtu 9000 2、永久开启:将"ifconfig eth0 mtu 9000"语句写到配置文件,重启生效。 注意:eth0 代表网卡名字,不同系统名字有可能不一样;9000 代表最大接收包的 5大小,一些较老的网卡最大接收包或许无法达到,需根据实际来设置,并且相机 侧需将 GEVSCPSPacketSize 节点设置成相应大小。 对于常见报错,可能是环境配置的脚本运行出了问题,安装包下脚本说明:1、set_env_path.sh:设置环境变量,将 SDK 动态库放入系统环境变量中。 2、set_rp_filter.sh:禁用 rpfilter,使 pc 的 IP 网段和相机的 IP 网段不在同一网段时也能枚举的上。 3、set_socket_buffer_size.sh:当出现 GigE 丢包时,可开大 socket 缓存,用来减缓丢包。 4、set_usb_priority.sh:设置 udev 规则,使之能在非管理员权限下使用u3相机。 5、set_usbfs_memory_size.sh:设置 usb 缓存,使之能兼容多个大分辨率u3相机。 在ROS下驱动,这里在github上找到一个大佬自己写的驱动:请自取,主页和方法在下方: GitHub - luckyluckydadada/HIKROBOT-MVS-CAMERA-ROS: The ros driver package of Hikvision Industrial Camera SDK. mkdir -p ~/ws_hikrobot_camera/src git clone https://github.com/luckyluckydadada/HIKROBOT-MVS-CAMERA-ROS.git ~/ws_hikrobot_camera/src/hikrobot_camera cd ~/ws_hikrobot_camera catkin_make source ./devel/setup.bash roslaunch hikrobot_camera hikrobot_camera.launch #rviz source ./devel/setup.bash roslaunch hikrobot_camera hikrobot_camera_rviz.launch这里有一个坑,如果在安装MVS配置了bin目录的环境变量,会和rviz需要的libQT5*等库冲突。 要修改相机参数请自行阅读代码内容。如config文件和src文件。 |
CopyRight 2018-2019 实验室设备网 版权所有 |