image-rs / imageproc

Image processing operations
MIT License
723 stars 144 forks source link

How does this crate compare to magick-rust? #628

Closed knarkzel closed 1 month ago

knarkzel commented 1 month ago

Performance, features, ease-of-use etc. Which one would you recommend using in production today? I'm working on a car image optimizer SaaS, and I basically need composing images, resizing, possibly detecting edges, color correction.

ripytide commented 1 month ago

Performance: Probably rust-magick since it's been around longer and has historically seen much more usage so more effort has probably gone into optimisation. That said without benchmarking functions on a case-by-case basis you won't know for sure.

Features: I'm not sure sincerust-magick's doc.rs page doesn't build. imageproc does have a reasonable selection of operations at the moment but you'd have to search the docs to see if your particular requirements are met or not. If your requirements are not met in either library imageproc will be easier to modify/contribute too since it's pure rust.

Ease of use: I would prefer imageproc as it is pure rust so easier to build and generally more rusty compared to rust-magick which binds to a non-rust library. Also interop is easier with other rust libraries using the rust Image struct for passing around images.

ripytide commented 1 month ago

I just learnt of the photon project as well which is also worth looking at as it is also pure-rust and provides many of the same features as this library.