vision
Safe Rust bindings for Apple's Vision framework — on-device OCR, object detection, face landmarks, and other computer vision tasks on macOS.
Status: experimental. v0.1 ships text recognition (OCR); object/face detection, classification, barcode scanning land in v0.2.
Quick start — OCR
use *;
Composes with the rest of the doom-fish stack
screencapturekit-rs / capture ──► IOSurface / PNG ──► vision ──► text
│
▼
foundation-models
("summarise this")
Feature flags
| Feature | Status |
|---|---|
recognize_text (default) |
✅ |
detect_faces (default) |
✅ |
detect_rectangles |
🚧 v0.4 |
classify_image |
🚧 v0.4 |
detect_barcodes |
🚧 v0.4 |
Roadmap
-
VNRecognizeTextRequest(OCR) viaTextRecognizer -
VNDetectFaceRectanglesRequestviaFaceDetector(returns bounding box + roll/yaw/pitch) -
CGImage/CVPixelBufferingest (file path AND zero-copyCVPixelBufferpaths) -
VNDetectFaceLandmarksRequest(face landmark points) -
VNDetectRectanglesRequest -
VNClassifyImageRequest -
VNDetectBarcodesRequest - Async API (
VNRequestcompletion handlers exposed viaasync fn)
License
Licensed under either of Apache-2.0 or MIT at your option.