Introducing PureCV: A Pure Rust Port of OpenCV

Introducing PureCV: A Pure Rust Port of OpenCV

:warning: Experimental Phase: PureCV is currently in an experimental stage. There is no stable release or LTS version yet, and the API is subject to change. We recommend using this project for testing and feedback purposes.


Hello OpenCV community! :waving_hand:

We’re excited to announce PureCV, a new open-source initiative to bring computer vision capabilities to the Rust ecosystem through a native, idiomatic port of OpenCV.

:bullseye: What is PureCV?

PureCV is a pure Rust implementation of OpenCV functionality—without FFI bindings. Our goal is to leverage Rust’s memory safety guarantees while maintaining the performance and versatility that make OpenCV the industry standard for computer vision.

Instead of wrapping C++ code, we’re reimplementing core algorithms in idiomatic Rust, making the library feel natural to Rust developers and unlocking new possibilities for safety-critical applications.

:sparkles: Key Features

  • No FFI overhead: Pure Rust implementation for zero unsafe wrapper costs

  • Idiomatic Rust design: Leverages modern Rust patterns and best practices

  • SIMD acceleration: Built-in support for SIMD operations on supported platforms

  • Parallel processing: Native support for multi-threaded and GPU-accelerated workloads

  • WebAssembly support: Available as an npm package for browser-based applications

  • Growing functionality: Currently covering essential functions from core and imgproc modules, with plans to expand

:wrench: Current Status

We’re in active development with initial coverage of:

  • Core module: Fundamental matrix operations, types, and utilities

  • Imgproc module: Image processing algorithms (filtering, transformations)

  • SIMD and parallel computing primitives

Please note: This is an experimental project. The API is not stable yet and may change significantly as we gather feedback and optimize the design. We do not recommend using PureCV in production environments at this time.

:package: Getting Started

Rust:

[dependencies]
purecv = "0.2"

WebAssembly (npm):

npm install @webarkit/purecv-wasm

Check out examples and documentation at: GitHub - webarkit/purecv: A pure Rust computer vision library focusing on the core and imgproc modules of OpenCV. · GitHub

:handshake: We Want Your Feedback!

This is a community-driven project, and we’re looking for:

  • Contributors to help expand module coverage

  • Users to test and provide feedback on API design

  • Ideas on performance optimizations and feature priorities

  • Use cases to understand how PureCV fits your workflow

Whether you’re interested in computer vision, Rust performance, or bringing safer alternatives to existing tools—we’d love to have you involved!

Note: This project was developed in part with assistance from AI tools (Gemini, Claude, and Copilot). Prompt instructions are included in the repository for reference.

:link: Links

We see great potential in Rust for computer vision, and we hope you’ll join us on this journey. Questions, suggestions, and contributions are always welcome! :rocket: