cv-bridge-rs

Crates.io Docs.rs

Rust implemenation of cv_bridge that converts between ROS image messages and OpenCV images

Warning: This package is still under active development. Use at your own risk.

Getting Started

Adding cv_bridge to your project

Add the following to your Cargo.toml file under dependencies: toml [dependencies] cv-bridge = "0.3.3" or you can use cargo to add the dependency: bash cargo add cv_bridge

Converting between ROS image messages and OpenCV images

``` rust use opencv::highgui; use cvbridge::{ CvImage, msgs::sensormsgs::Image, };

fn main() { // Initialize ros node rosrust::init("image_viewer");

// Create image subscriber
let _subscriber_raii = rosrust::subscribe(
    "/camera/image_raw",
    5,
    move |image: Image| {
        // Convert ros Image to opencv Mat
        let mut cv_image = CvImage::from_imgmsg(image).expect("failed to construct CvImage from ros Image"); 
        let mat = cv_image.as_cvmat().expect("failed to convert CvImage to Mat");

        // Display image
        let window = "view";
        highgui::named_window(window, highgui::WINDOW_AUTOSIZE).unwrap();
        highgui::imshow(window, &mat).unwrap();
        highgui::wait_key(1).unwrap();
    }
);

rosrust::spin();

} ```

Features