ros获取相机话题的C++程序
时间: 2024-06-03 22:08:26 浏览: 126
以下是ROS获取相机话题的C程序示例:
#include <ros/ros.h>
#include <sensor_msgs/Image.h>
void imageCallback(const sensor_msgs::Image::ConstPtr& msg)
{
ROS_INFO("Received image with %d x %d pixels", msg->width, msg->height);
// Insert your image processing code here
}
int main(int argc, char** argv)
{
ros::init(argc, argv, "image_subscriber");
ros::NodeHandle nh;
ros::Subscriber sub = nh.subscribe<sensor_msgs::Image>("camera/image_raw", 1, imageCallback);
ros::spin();
return 0;
}
在这个程序中,我们使用了ROS中的sensor_msgs/Image消息类型来表示图像数据。我们定义了一个名为imageCallback的回调函数,用于处理接收到的图像数据。回调函数中的ROS_INFO语句用于打印图像的宽度和高度。
在主函数中,我们初始化了ROS节点,创建了一个名为image_subscriber的订阅者,并将其绑定到相机话题(camera/image_raw)上。我们使用1作为队列大小,这意味着我们只会接收最新的图像数据。最后,我们调用ros::spin()函数,使程序进入ROS事件循环,等待接收图像数据。
阅读全文