订阅6个ladybug_images给ROS

时间:2016-06-21 08:09:21

标签: c++ publish-subscribe ros

我正在尝试从Ladybug相机(https://www.ptgrey.com/ladybug5-360-degree-usb3-spherical-camera-systems)向ROS发送6张图像。

当ROS接收到这些图像时,他使用3D网格拼接生成器生成球形格式的全景图像。总而言之,我想订阅拼接图像程序以实时获得全景图。

图像格式为bmp。 我找到了一个关于订阅的教程,但我不知道如何使用它

#include <ros/ros.h>
#include <image_transport/image_transport.h>
#include <opencv2/highgui/highgui.hpp>
#include <cv_bridge/cv_bridge.h>

void imageCallback(const sensor_msgs::ImageConstPtr& msg)
{
 try
{
cv::imshow("view", cv_bridge::toCvShare(msg, "bgr8")->image);
}
catch (cv_bridge::Exception& e)
{
ROS_ERROR("Could not convert from '%s' to 'bgr8'.", msg->encoding.c_str());
 }
}

int main(int argc, char **argv)
{
   ros::init(argc, argv, "image_listener");
   ros::NodeHandle nh;
   cv::namedWindow("view");
   cv::startWindowThread();
   image_transport::ImageTransport it(nh);
   image_transport::Subscriber sub = it.subscribe("camera/image", 1,   imageCallback);
   ros::spin();
   cv::destroyWindow("view");
    }

我希望你向我澄清实现这一目标的方法。

我希望我很清楚,谢谢你提前

0 个答案:

没有答案