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 | Q&A answers.ros.org |
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);
}
Please start posting anonymously - your entry will be published after you log in or create a new account.
Asked: 2012-04-28 05:12:45 -0500
Seen: 4,607 times
Last updated: Apr 28 '12
publish or subscribe depth image with python cv2
cv_bridge segmentation fault OpenCV 3.0
Failed to process package 'cv_bridge':
how to build cv_bridge with Jetson TX2?
cv_bridge opencv4 running slow
how to make rospy.Subscriber("/camera/rgb/image_raw", Image, image_callback) work?
ImportError: cannot import name CvBridge
How to subscribe two images simultaneously in opencv c++
The rate of images converted by cv_bridge is much too low! [closed]
If either of these answers answered your question, please mark one as "correct" so this questions gets closed out ... thanks!