How to convert an an opencv image using cvBridge??
How do I convert an image I have opened through opencv into sensor_msgs/image??
ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
How do I convert an image I have opened through opencv into sensor_msgs/image??
I recommend the cv_bridge tutorials.
Here is a snippet of code I have used to do this and the full code is here. It is a package that also uses opencv to grab images and publish them. Some of the variables are:
image_transport::ImageTransport transport;
image_transport::CameraPublisher image_pub;
camera_info_manager::CameraInfoManager info_mgr;
And the code:
// if subscribers, pub images
if(image_pub.getNumSubscribers() > 0) {
ros::Time time = ros::Time::now();
// convert OpenCV image to ROS message
cv_bridge::CvImage cvi;
cvi.header.stamp = time;
cvi.header.frame_id = "image";
cvi.encoding = "bgr8";
cvi.image = cv_image;
// get camera parameters
sensor_msgs::CameraInfo info = info_mgr.getCameraInfo();
info.header.stamp = cvi.header.stamp;
info.header.frame_id = cvi.header.frame_id; // whatever it is called
info.width = cv_image.cols;
info.height = cv_image.rows;
sensor_msgs::Image im;
cvi.toImageMsg(im);
image_pub.publish(im,info);
}
Asked: 2012-04-28 05:12:45 -0500
Seen: 4,659 times
Last updated: Apr 28 '12
Are there somebodies use OpenCV2.2 with ROS ?
services with sensor_msgs::Image response in diamondback ubuntu10.10
Converting Kinect RGB image to OpenCV gives wrong colours
How to convert cv::Mat to sensor_msgs::Image::Ptr?
Convert from a sensor_msgs::CompressedImage message to IplImage
openni_camera depth image opencv
How to synchronize image and marker display between two ROS nodes
If either of these answers answered your question, please mark one as "correct" so this questions gets closed out ... thanks!