Skip to main content

apple_vision/
lib.rs

1#![doc = include_str!("../README.md")]
2//!
3//! ---
4//!
5//! # API Documentation
6//!
7//! Safe Rust bindings for Apple's
8//! [Vision](https://developer.apple.com/documentation/vision) framework —
9//! OCR, object detection, face landmarks, and other on-device computer
10//! vision tasks.
11//!
12//! v0.1 ships text recognition (OCR) only. Object/face detection lands
13//! in v0.2.
14
15#![cfg_attr(docsrs, feature(doc_cfg))]
16
17pub mod error;
18pub mod ffi;
19
20#[cfg(feature = "recognize_text")]
21#[cfg_attr(docsrs, doc(cfg(feature = "recognize_text")))]
22pub mod recognize_text;
23
24#[cfg(feature = "detect_faces")]
25#[cfg_attr(docsrs, doc(cfg(feature = "detect_faces")))]
26pub mod detect_faces;
27
28#[cfg(feature = "detect_barcodes")]
29#[cfg_attr(docsrs, doc(cfg(feature = "detect_barcodes")))]
30pub mod detect_barcodes;
31
32pub use error::VisionError;
33
34#[cfg(feature = "recognize_text")]
35pub use recognize_text::{BoundingBox, RecognitionLevel, RecognizedText, TextRecognizer};
36
37#[cfg(feature = "detect_faces")]
38pub use detect_faces::{DetectedFace, FaceDetector};
39
40#[cfg(feature = "detect_barcodes")]
41pub use detect_barcodes::{detect_barcodes_in_path, DetectedBarcode};
42
43/// Common imports.
44pub mod prelude {
45    #[cfg(feature = "detect_barcodes")]
46    pub use crate::detect_barcodes::{detect_barcodes_in_path, DetectedBarcode};
47    #[cfg(feature = "detect_faces")]
48    pub use crate::detect_faces::{DetectedFace, FaceDetector};
49    pub use crate::error::VisionError;
50    #[cfg(feature = "recognize_text")]
51    pub use crate::recognize_text::{
52        BoundingBox, RecognitionLevel, RecognizedText, TextRecognizer,
53    };
54}