basler相机ROS硬触发程序补充camera_info话题


相机型号:acA1920-40gc(GigE接口)
触发方式:GNSS的PPS硬触发
运行环境:Ubuntu20.04 (64-Bit)
程序依赖:pylon Release 6.3.0


0 准备工作

先调试出来相机外部硬触发,并且可以由ROS采集图像。
ROS外部硬触发参考: basler相机外部硬触发,转换图像格式并发送到ROS下的topic

1 参数准备

相机标定的内参,用于填充D、K,从官方文档中可以知道D是畸变参数,K是相机内参矩阵。
标定方法:
matlab标定: Ubuntu20.04 ROS读取basler相机图像步骤。MATLAB2021b标定basler单目相机

2 代码(C++)

2.1 主要流程:

  1. 将参数分别定义到矩阵
  2. 写入sensor_msgs/CameraInfo Message
  3. 发布话题camera_info

2.2 主要代码

sensor_msgs::CameraInfo cam_info;
ros::Publisher pub_cam_info = n.advertise<sensor_msgs::CameraInfo>("camera_info", 100);

//定义camera_info的Header
cam_info.header.frame_id = "camera";  
cam_info.header.stamp = ros::Time::now();

//定义camera_info的参数
cam_info.height = ptrGrabResult->GetHeight();
cam_info.width = ptrGrabResult->GetWidth();
cam_info.distortion_model = "plumb_bob";
cam_info.D = D;
cam_info.K = K;
cam_info.P = P;
cam_info.R = r;
cam_info.binning_x = 0;
cam_info.binning_y = 0;

pub_cam_info.publish(cam_info);

3 参考内容

camera_info话题定义: 链接
ROS中生成CameraInfo消息: 链接
根据相机内参向ROS发布camera_info: 链接

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

可见一班

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值