Ubuntu16(ROS_Kinetic) 海康威视网络摄像机(单目)内参标定
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
用法:
打开一个终端,输入:
打开另一个终端,输入:
这里的 ip 改成摄像机的 ip 和密码。
其他参数:
打开第三个终端,输入:
结果显示,表示打开成功:
4.开始标定内参
方法 1:没有录制 rosbag,直接标定
在上面的基础上,即上面的终端保持运行的情况下:
参数如下:
--square:标定板单元格的边长(m),我的标定板是 2.5cm,也就是 0.025m--size:标定板长 x 宽的格子数减一,我的标定板是 12x9,所以填 11x8image:要标定的相机话题 camera:打开网络摄像头标定板:
过程:
会出现左边的摄像头界面,然后拿着标定板在摄像头中进行移动,可以看到如图的色彩,右边会将其中的多次存起来,大约 40 次左右(即 40 个 Add,也就保存了 40 张图片)。当右上角的 X、Y、Size、Skew 变为绿色时,标定按钮「CALIBRATE」可用,点击即可计算内参矩阵。
结果:
结果在 Shell 中打印出来,点击「SAVE」可保存到 home 目录下:
注意这里会多保存一个 Autoware 类型的 YAML 文件格式,也就是后面外参标定要导入的文件!保存路径会打印出来,其中是一个压缩包,解压后主要是 yaml 文件,也会看到保存的多张图片。
方法 2:录制 rosbag,再标定
录制一个相机话题的 Bag:
注:其中 xxx 是你自己起的名字。
本质来说,就是先启动 rosbag 录制,然后启动标定软件,过程和上面几乎一样,但是在标定结束后(可以在保存之前)利用命令 Ctrl+C,将 rosbag 挂掉即可,最后可以看到自己保存的 xxx.bag,起作用就是下次标定的时候,不用再自己标定了,而是利用 xxx.bag 录制的视频(其实也是你自己标的),
下次标定: 下一步命令:
注:开始回放内参标定 Bag,默认暂停启动,按空格继续。
注意:这句命令最后没有打开摄像头,因为这里读取的是录制的 bag,它会自动播放你之前的录制过程,进行标定,后面的 Save 就同理了。
注:上面的图片利用的是下面链接的,因为在标定的时候没有记录下过程图片,后面标注的时候,再重新补,这个链接讲的也挺好,就是不是海康的摄像头!!!!https://dlonng.com/posts/autoware-calibr-1
5.RosBag 的简单介绍
1.简介
.bag 文件可以保存 ros 系统运行过程中产生的话题和服务数据,并可以播放出来以供其他系统使用,有种仿真器的感觉,在使用 别人数据集的过程中十分有用。将正在运行的 ROS 系统中的数据记录到一个.bag 文件中,然后回放这些数据,以在运行的系统中产生类似的数据流。
2.常用命令
录制:
播放:
压缩:
查看信息:
版权声明: 本文为 InfoQ 作者【Studying_swz】的原创文章。
原文链接:【http://xie.infoq.cn/article/45f99a837f89f7eb305785903】。文章转载请联系作者。
评论