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,648 times
Last updated: Apr 28 '12
sensor_msgs::CompressedImage subscribe fails to build
Is it possible to convert depth messages as Ipl image using CvBridge
Using external opencv version - kinetic
Could NOT find Boost (missing: python3) (found version "1.76.0") Windows 10
Problem with catkin_make cv_bridge
cv_bridge returns error during cvimage to rosimage conversion
Problem integrating ros with opencv to work with rgb camera output in ros.
If either of these answers answered your question, please mark one as "correct" so this questions gets closed out ... thanks!