Skip to main content

opencv/
lib.rs

1#![expect(rustdoc::broken_intra_doc_links)]
2//!\ Rust bindings for the OpenCV computer vision library
3//!
4//! [Git](https://github.com/twistedfall/opencv-rust) | [Readme](https://github.com/twistedfall/opencv-rust/blob/master/README.md) |
5//! [Docs](https://docs.rs/opencv) | [Sponsor](https://github.com/sponsors/twistedfall)
6//!
7//! Please note that this documentation is automatically generated from the C++ headers. So expect references to C++ items,
8//! code examples in C++ and other strange things.
9pub use error::{Error, Result};
10
11pub use crate::opencv::hub::*;
12
13#[macro_use]
14mod templ;
15
16pub mod error;
17mod manual;
18mod opencv;
19pub mod traits;
20
21pub mod prelude {
22	#[cfg(ocvrs_has_module_core)]
23	pub use crate::core::{DataType, Mat};
24	pub use crate::hub_prelude::*;
25	pub use crate::manual::prelude::*;
26	pub use crate::traits::{Boxed, OpenCVBitfieldEnum};
27}
28
29/// Reexported platform types that are used by OpenCV
30pub mod platform_types {
31	pub use libc::{FILE, clock_t, ptrdiff_t, size_t};
32}
33
34/// Prelude for sys (externs) module and types
35pub mod mod_prelude_sys {
36	pub use std::ffi::{c_char, c_void};
37
38	pub use crate::platform_types::*;
39	pub use crate::traits::{Boxed, OpenCVFromExtern, OpenCVIntoExternContainer, OpenCVTypeExternContainer};
40}
41
42/// Prelude for generated modules and types
43pub mod mod_prelude {
44	pub use std::marker::PhantomData;
45
46	pub use crate::boxed_ref::{BoxedRef, BoxedRefMut};
47	pub use crate::core::{ToInputArray, ToInputOutputArray, ToOutputArray};
48	pub use crate::hub_prelude::*;
49	pub use crate::mod_prelude_sys::*;
50	pub use crate::traits::OpenCVBitfieldEnum;
51	pub use crate::{
52		Result, boxed_cast_base, boxed_cast_descendant, boxed_ref, extern_arg_send, extern_container_send, extern_receive,
53		extern_send, input_array_ref_forward, opencv_type_bitfield_enum, opencv_type_boxed, opencv_type_enum, opencv_type_simple,
54		output_array_ref_forward, ptr_cast_base, ptr_extern, ptr_extern_ctor, tuple_extern, vector_boxed_ref, vector_copy_non_bool,
55		vector_extern, vector_non_copy_or_bool,
56	};
57}
58
59pub mod boxed_ref;