1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//! `cv-bridge` is a crate for converting between OpenCV and ROS Image.
//! This works in conjunction to the [`ros_rust`](https://github.com/adnanademovic/rosrust) crate.
//!
//! # Crate Status
//! - Currently only supports the standard CV encodings
//! - Currently only supports CV_8U and CV_16U channel depths
//! - Does not support compressed images
//!
//! # Examples
//!
//! ## Convert from ROS Image to OpenCV Mat
//! ```
//! use opencv::highgui;
//! use cv_bridge::{
//! CvImage,
//! msgs::sensor_msgs::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();
//! }
//! ```
pub use CvImage;