Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zshipko/image2-rs
Image processing library for Rust
https://github.com/zshipko/image2-rs
image image-processing openimageio rust
Last synced: 3 days ago
JSON representation
Image processing library for Rust
- Host: GitHub
- URL: https://github.com/zshipko/image2-rs
- Owner: zshipko
- License: isc
- Created: 2018-07-28T02:11:19.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2023-10-21T20:55:13.000Z (about 1 year ago)
- Last Synced: 2024-04-23T23:55:24.216Z (7 months ago)
- Topics: image, image-processing, openimageio, rust
- Language: Rust
- Homepage:
- Size: 8.1 MB
- Stars: 59
- Watchers: 5
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-rust-list - zshipko/image2-rs - rs?style=social"/> : A Rust crate focused on generic image processing for a wide range of image formats and data types. (Image and Video Processing)
- awesome-rust-list - zshipko/image2-rs - rs?style=social"/> : A Rust crate focused on generic image processing for a wide range of image formats and data types. (Image and Video Processing)
README
# image2 - image processing library
A Rust crate focused on generic image processing for a wide range of image formats and data types.
- Supported image data types: `u8`, `i8`, `u16`, `i16`, `u32`, `i32`, `u64`, `i64`, `f16`, `f32`, `f64`
- Supported color types: `gray`, `rgb`, `rgba`, `hsv`, `cmyk`, `xyz`
- Read and write images of any supported type/color
- Easy to add new colors
- Generic image processing across data types using `Pixel`
- Composable operations using `Filter` (with async support)[OpenImageIO](https://github.com/OpenImageIO/oiio) is used to read/write images and supports:
- `TIFF`
- `JPEG`/`JFIF`
- `OpenEXR`
- `PNG`
- `HDR`/`RGBE`
- `ICO`
- `BMP`
- `Targa`
- `JPEG-2000`
- `RMan Zfile`
- `FITS`
- `DDS`
- `Softimage PIC`
- `PNM`
- `DPX`
- `Cineon`
- `IFF`
- `Field3D`
- `Ptex`
- `Photoshop PSD`
- `Wavefront RLA`
- `SGI`
- `WebP`
- `GIF`
- A variety of RAW digital camera formats`ImageMagick` can also be used in place of OpenImageIO.
This is not a pure Rust crate, if that's important to you then [image](https://github.com/image-rs/image) is probably a better fit.
## Features
- `oiio`
* Enables I/O using OpenImageIO (default: enabled)
- `magick`
* Enables I/O using ImageMagick (default: disabled)
* Incompatible with the `oiio` feature
- `parallel`:
* Enables parallel image iterators (default: enabled)
- `mmap`:
* Enabled memory-mapped image data (default: enabled)
- `text`:
* Enables loading fonts and drawing text on images (default: enabled)
- `window`:
* Enables ability to draw images to a graphical window (default: disabled)
- `serialize`:
* Enables serde support for several data structures (default: disabled)
- `glfw-sys`:
* Builds `glfw` with `glfw-sys` (default: disabled)## External dependencies
- `libOpenImageIO` (optional)
* `oiio` feature
* Version >= 2.0
* Debian-based distros: `apt install libopenimageio-dev`
* macOS: `brew install openimageio`
- `ImageMagick` (optional)
* Only required if `oiio` is not being used
* Debian-based distros: `apt install imagemagick`
* macOS: `brew install imagemagick`
- `libGLFW3` (optional)
* `window` feature
* Debian-based distros: `apt install libglfw3-dev`
* macOS: `brew install glfw3`