Skip to content

Commit

Permalink
Simplify ros-cv-bridge
Browse files Browse the repository at this point in the history
  • Loading branch information
raultapia committed Jul 8, 2024
1 parent 7e5c2b0 commit e165b20
Showing 1 changed file with 6 additions and 12 deletions.
18 changes: 6 additions & 12 deletions include/rush/ros-cv-bridge.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,8 @@ inline void cv2ros(const cv::Mat &cv, sensor_msgs::Image &ros, const std_msgs::H
* @param header The header for the ROS Image message.
* @return The output ROS Image message.
*/
inline sensor_msgs::Image cv2ros(const cv::Mat &cv, const std_msgs::Header &header = std_msgs::Header()) {
sensor_msgs::Image ros;
cv_bridge::CvImage(header, Encoding::get(cv), cv).toImageMsg(ros);
return ros;
inline sensor_msgs::ImagePtr cv2ros(const cv::Mat &cv, const std_msgs::Header &header = std_msgs::Header()) {
return cv_bridge::CvImage(header, Encoding::get(cv), cv).toImageMsg();
}

/**
Expand All @@ -73,18 +71,16 @@ inline sensor_msgs::Image cv2ros(const cv::Mat &cv, const std_msgs::Header &head
* @param cv The output OpenCV Mat.
*/
inline void ros2cv(const sensor_msgs::Image &ros, cv::Mat &cv) {
const cv_bridge::CvImagePtr cv_ptr = cv_bridge::toCvCopy(ros, ros.encoding);
(cv_ptr->image).copyTo(cv);
(cv_bridge::toCvCopy(ros, ros.encoding)->image).copyTo(cv);
}

/**
* @brief Converts a ROS Image message to an OpenCV Mat.
* @param ros The input ROS Image message.
* @return The output OpenCV Mat.
*/
inline cv::Mat ros2cv(const sensor_msgs::Image &ros) {
const cv_bridge::CvImagePtr cv_ptr = cv_bridge::toCvCopy(ros, ros.encoding);
return (cv_ptr->image);
inline cv::Mat &ros2cv(const sensor_msgs::Image &ros) {
return cv_bridge::toCvCopy(ros, ros.encoding)->image;
}

/**
Expand Down Expand Up @@ -124,9 +120,7 @@ class Publisher : public ros::Publisher {
std_msgs::Header header;
header.stamp = time;
header.frame_id = frame_id;
sensor_msgs::Image msg;
cv2ros(img, msg, header);
ros::Publisher::publish(msg);
ros::Publisher::publish(cv2ros(img, header));
}
};

Expand Down

0 comments on commit e165b20

Please sign in to comment.