Cimg ( https://cimg.eu/ see also The CImg Library is a small and open-source C++ toolkit for image processing)
is a well-developed, download-able C++ image processing library created by David Tschumperlé.
Cimg renders 2-D and 3-D graphic images on MS Windows and Linux systems.
It allows users to encode/decode images in Cimg graphics format and several other commonly used image formats using built-in functions, but
PNG and JPEG formats requires users must add their own code to en/decode these images.
I've used it for several years now, and found it quite useful for integrating complex image processing with complex C++ code.
And also for processing apps involving advanced math apps.
Cimg :
- only requires one (very large) C++ header file which is very well-organized as a collection of individual template functions.
- has built-in capabity to handle pixels coded as RGA, RGBA, Gray, Gray-Alpha, u32 values, u16, f32 values etc.
- easily handles images based on user-defined pallettes
- has numerous built-in image processing algorithms
- has lots of built-in math algorithms (including Linear Algebra algorithms)
Converting Cimg to RUST IMHO would greatly enhance RUST IMHO, but I think too-risky for a Rust newbie to tackle.
I'd appreciate any input from more-experienced Rust users regarding to how feasible /difficult it would be to convert Cimg C++ code to Rust.