cv
ofps
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cv
-
Good example of high performance Rust project without unsafe code?
Rust can absolutely be used without unsafe to create some of the fastest code out there, but you need to try and use data-oriented design where possible to make things flow smoothly and avoid runtime checks. The hardest thing to use data-oriented design for, in my opinion, is graphs. I find that actor systems can be used instead of graphs, but it is difficult. Generally I end up using slotmap to make multiple arenas and then putting them into one large object with lots of methods to operate on the graph structure. If you want an example of that, this is probably the most complicated code I have made this way: https://github.com/rust-cv/cv/blob/511024feaa077a9af377cca7b654ad3d57d3bd6a/cv-sfm/src/lib.rs. It may not be entirely helpful to understand the whole codebase, but if you are curious to see how I do graphs in Rust with slotmap, this can be a good reference.
-
Rust OpenCV - Simple Guide
This is a nice guide, but ultimately openCV should be rewritten in rust. It would avoid all of these headaches. Please checkout and support https://github.com/rust-cv/cv
-
Slideo: Synchronize Slides With Video, Backed By OpenCV
It is, more or less, my first larger rust project. It uses the opencv crate, but I only recommend to have a look at rust-cv instead! It uses SQLite/sqlx for storing the matchings, actix-web for serving the webview and a lot of rayon for parallel processing.
-
CleanIt: An Open-Source Robot Autonomy Software in Rust-lang for the Roomba series robot vacuum cleaners
You may want to take a look at our project Rust CV https://github.com/rust-cv/cv.
ofps
-
I wrote my computer vision dissertation in rust
The overall experience building it was pretty great, with some surprises along the way. Somehow I managed to create a rustc ICE when compiling stable code, but it was very particular to set up, so I am not sure if one could even reproduce it. Rust was a great choice for its performance, type safety and available crates - nalgebra was a true lifesaver here, and integrating egui with wgpu was a really empowering experience. The project is not quite production quality, but it might come in handy for any future computer vision research. I called it OFPS, and you can find it on crates.io or my github.
What are some alternatives?
opencv-rust - Rust bindings for OpenCV 3 & 4
scanner - Document scanning from scratch
rosrust - Pure Rust implementation of a ROS client library
vviz - Rapid prototyping GUI, and visual printf-style debugging for computer vision development.
fast-float-rust - Super-fast float parser in Rust (now part of Rust core)
squad-mortar-helper - 💣 SMH – a computer vision project for automatic, precision mortar strike calculations in Squad
FFmpeg - Mirror of https://git.ffmpeg.org/ffmpeg.git
lance - Modern columnar data format for ML and LLMs implemented in Rust. Convert from parquet in 2 lines of code for 100x faster random access, vector index, and data versioning. Compatible with Pandas, DuckDB, Polars, Pyarrow, with more integrations coming..
json-benchmark - nativejson-benchmark in Rust
rerun - Visualize streams of multimodal data. Fast, easy to use, and simple to integrate. Built in Rust using egui.
simple-simd - Simple SIMD types for Rust, primarily for x86 AVX2
slideo - This tool uses OpenCV to automatically synchronize slides with videos that show these slides.