文章目录

  • 1.前提
  • 2.海康威视录像机的IP设置
  • 3.海康威视ROS驱动安装
  • 4.开始标定内参
    • 方法1:没有录制rosbag,直接标定
    • 方法2:录制rosbag,再标定
  • 5.RosBag的简单介绍
    • 1.简介
    • 2.常用命令

1.前提

安装好标定功能包:https://github.com/XidianLemon/calibration_camera_lidar,
详情参照博客:
https://blog.csdn.net/qq_37534947/article/details/116195405?spm=1001.2014.3001.5501

2.海康威视录像机的IP设置

一般来说,需要将本机的ip地址(192.168.0.3)设置成与海康威视(如:192.168.0.4)同一网段即可,然后在ie浏览器中输入海康威视的ip地址即可打开,看到摄像机界面。

注:海康视频WEB Component已经不支持Google Chrome和Firefox了,所以只有ie浏览器才能看!
参考链接:https://blog.csdn.net/shjhuang/article/details/104915558

3.海康威视ROS驱动安装

代码安装:
https://github.com/tanzby/hikvision_ros

用法:

git clone https://github.com/tanzby/hikvision_ros.git
cd hikvision_ros_master
mkdir build && cd build
cmake ..
make

打开一个终端,输入:

roscore

打开另一个终端,输入:

cd hikvision_ros_master
source /devel/setup.sh
roslaunch hikvision_ros hik.launch ip_addr:=192.168.5.100 password:=123456

这里的ip改成摄像机的ip和密码。

其他参数:

<arg name="ip_addr" default="192.168.5.100"/>
<arg name="user_name" default="admin"/>
<arg name="password" default="admin"/>
<arg name="port" default="8000"/>
<arg name="channel" default="1"/>

打开第三个终端,输入:

rostopic list

结果显示,表示打开成功:

# [output]
# ➜  ~ rostopic list
# /hik_cam_node/camera_info
# /hik_cam_node/hik_camera
# ...

4.开始标定内参

方法1:没有录制rosbag,直接标定

在上面的基础上,即上面的终端保持运行的情况下:

# calibrate
rosrun camera_calibration cameracalibrator.py --size 11x8 --square 0.03 image:=/hik_cam_node/hik_camera  camera:=/hik_cam_node/hik_camera

参数如下:

–square:标定板单元格的边长(m),我的标定板是 2.5cm,也就是 0.025m
–size:标定板长x宽的格子数减一,我的标定板是 12x9,所以填 11x8
image:要标定的相机话题
camera:打开网络摄像头
标定板:

过程:

会出现左边的摄像头界面,然后拿着标定板在摄像头中进行移动,可以看到如图的色彩,右边会将其中的多次存起来,大约40次左右(即40个Add,也就保存了40张图片)。当右上角的 X、Y、Size、Skew 变为绿色时,标定按钮「CALIBRATE」可用,点击即可计算内参矩阵。

结果:

结果在 Shell 中打印出来,点击「SAVE」可保存到 home 目录下:

注意这里会多保存一个 Autoware 类型的 YAML 文件格式,也就是后面外参标定要导入的文件!
保存路径会打印出来,其中是一个压缩包,解压后主要是yaml文件,也会看到保存的多张图片。

方法2:录制rosbag,再标定

录制一个相机话题的Bag:

rosbag record -O xxx.bag image:=/hik_cam_node/hik_camera

注:其中xxx是你自己起的名字。

# calibrate
rosrun camera_calibration cameracalibrator.py --size 11x8 --square 0.03 image:=/hik_cam_node/hik_camera  camera:=/hik_cam_node/hik_camera

本质来说,就是先启动rosbag录制,然后启动标定软件,过程和上面几乎一样,但是在标定结束后(可以在保存之前)利用命令Ctrl+C,将rosbag挂掉即可,最后可以看到自己保存的xxx.bag,起作用就是下次标定的时候,不用再自己标定了,而是利用xxx.bag录制的视频(其实也是你自己标的),

下次标定: 下一步命令:

rosbag play --pause xxx.bag

注:开始回放内参标定 Bag,默认暂停启动,按空格继续。

# calibrate
rosrun camera_calibration cameracalibrator.py --size 11x8 --square 0.03 image:=/hik_cam_node/hik_camera

注意:这句命令最后没有打开摄像头,因为这里读取的是录制的bag,它会自动播放你之前的录制过程,进行标定,后面的Save就同理了。

注:上面的图片利用的是下面链接的,因为在标定的时候没有记录下过程图片,后面标注的时候,再重新补,这个链接讲的也挺好,就是不是海康的摄像头!!!!
https://dlonng.com/posts/autoware-calibr-1

5.RosBag的简单介绍

1.简介

.bag文件可以保存ros系统运行过程中产生的话题和服务数据,并可以播放出来以供其他系统使用,有种仿真器的感觉,在使用 别人数据集的过程中十分有用。将正在运行的ROS系统中的数据记录到一个.bag文件中,然后回放这些数据,以在运行的系统中产生类似的数据流

2.常用命令

录制:

# 录制完保存 bag 包名称为 session1 + 时间戳.bag 格式:
rosbag record -o session1 <topic_names># 录制完保存为指定文件名session2.bag:
rosbag record -O session2.bag <topic_names>

播放:

# 在回放过程中按空格暂停,常见用法如下,回放单个 bag:
rosbag play record.bag
# 回放多个 bag,基于全局时间间隔播放:
rosbag play record1.bag record2.bag
#以录制的一半频率回放:
rosbag play -r 0.5 --pause record.bag
# 指定回放频率,默认 100HZ:
rosbag play --clock --hz=200 record.bag
# 循环播放:
rosbag play -l record.bag

压缩:

# 指定压缩格式为 lz4,默认的压缩格式是 bz2
rosbag compress --lz4 xxx.bag
# 解压缩
rosbag decompress xxx.bag

查看信息:

rosbag info

参考链接:
https://blog.csdn.net/zxxxiazai/article/details/111616502
https://blog.csdn.net/qinqinxiansheng/article/details/107120828

Ubuntu16(ROS_Kinetic)海康威视网络摄像机(单目)内参标定相关推荐

  1. HMI实时显示网络摄像机监控画面——以海康威视网络摄像机为例

    随着IOT技术的快速发展,网络摄像机快速应用于工业领域,结合其他智能设备建立一个智能系统,提高用户与机器设备之间的交互体验,帮助企业优化人员配置. 作为重要的可视化设备,HMI不仅可以采集现场设备数据 ...

  2. 海康威视网络摄像机SADP软件

    SADP软件用于搜索同一网络中的在线设备.支持查看设备信息.激活设备.编辑设备的网络参数.重置设备密码等 官网下载地址: https://www.hikvision.com/en/support/to ...

  3. 单目相机标定实现--张正友标定法

    文章目录 一:相机坐标系,像素平面坐标系,世界坐标系,归一化坐标系介绍 1:概述 公式 二:实现 1:整体流程 4:求出每张图像的单应性矩阵并用LMA优化 5:求解理想无畸变情况下的摄像机的内参数和外 ...

  4. SLAM学习 | 单目相机标定(附代码实测可用)

    SLAM学习 | 单目相机标定(附代码实测可用) 1 针孔相机模型 2 张正友标定法 3 VS2013下配置openCV 4 标定过程与结果 5 经验总结与注意事项 概要: 这篇文章介绍如何解决做SL ...

  5. 基于matlab的摄像头,基于Matlab的单目摄像头标定

    实验环境:matlab2016 准备材料:单目摄像头.定标板.摄像头拍下定标板的图片 本博客带大家实际动手,再讲单目摄像头标定原理. 准备标定板 标定的开始阶段最需要用到的标定板,可以直接从openc ...

  6. 基于Matlab工具箱进行单目摄像头标定

    实验环境:matlab2016 准备材料:单目摄像头.定标板.摄像头拍下定标板的图片 本博客带大家实际动手,再讲单目摄像头标定原理. 准备标定板 标定的开始阶段最需要用到的标定板,可以直接从openc ...

  7. 单目摄像头标定与测距

    单目摄像头标定与测距 一. 标定 首先要对摄像头做标定,具体的公式推导在learning opencv中有详细的解释,这里顺带提一句,这本书虽然确实老,但有些理论.算法类的东西里面还是讲的很不错的,必 ...

  8. python opencv 摄像头标定_(五)单目摄像头标定与畸变矫正(C++,opencv)

    本文将梳理一种单目摄像头标定和矫正的方法,在梳理的过程中,首先使用网上离线的图片数据跑通流程,然后接入自己的camera,手动采集标定图像,实时矫正相机的畸变,然后输出矫正后的图像.全文基于Openc ...

  9. OPENCV3.0 单目摄像头标定(使用官方自带的标定图片)

    OPENCV3.0 单目摄像头标定(使用官方自带的标定图片) 转载于:https://blog.csdn.net/zc850463390zc/article/details/48946855 // o ...

最新文章

  1. feign调用如何传递token_走进Spring Cloud之五 eureka Feign(服务调用者)
  2. JMM(Java内存模型)
  3. c++ 函数过长 拆分_实用EXECL办公函数 【多条件排名】
  4. Node.js 应用故障排查手册 —— 综合性 GC 问题和优化
  5. 政务外网001---政务外网介绍
  6. Windows操作系统架构梳理
  7. win7计算机出现空白图标,win7系统电脑任务栏右下角图标空白的解决方法
  8. reset.css normalize.css,normalize与css reset的区别
  9. 拜读经典——大话设计模式(一)——温习C#
  10. 简单做一段自己CSGO游戏的视频
  11. 虚幻4地形怎么增加层_虚幻周报20200602 | 我等的东西还没来……
  12. CSDN新版个人空间介绍之二——个人主页
  13. 如何自创一门计算机语言
  14. 读源码品Caffe - 结构流程篇
  15. Dog Whisper--报告狗班长——狗的心理专家
  16. 推荐算法的准确度评价指标:
  17. Unity3D简陋版跑酷游戏
  18. 关于视觉小说的词法分析技术-完善篇
  19. SQLServer2008服务无法启动
  20. 荣耀路由x1 虚拟服务器,荣耀X1路由器怎么设置?

热门文章

  1. 关于HTTP请求 415错误
  2. 如何零成本实现微信公众号自助查券返利机器人(一)
  3. 出现ERROR:怎么解决
  4. SwipeRefreshLayout极其简单的下拉刷新工具
  5. Ubuntu 16.04 + cuda-8.0 + cudnn-6.0 + Tensorflow1.4和Caffe(极其简单)
  6. PotPlayer播放列表另存为
  7. 国产飞腾服务器制作raid
  8. Native Bayes
  9. linux和pe修复win10启动项,pe下如何重建win10引导?pe下win10引导修复图文教程
  10. android 各个存储路径及获取方法总结