Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chyh1990/imageproc
An advanced image processing library for Rust.
https://github.com/chyh1990/imageproc
Last synced: 3 months ago
JSON representation
An advanced image processing library for Rust.
- Host: GitHub
- URL: https://github.com/chyh1990/imageproc
- Owner: chyh1990
- License: mit
- Created: 2015-05-12T11:20:26.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2019-04-28T01:33:38.000Z (over 5 years ago)
- Last Synced: 2024-06-22T08:35:37.950Z (4 months ago)
- Language: Rust
- Size: 180 KB
- Stars: 106
- Watchers: 6
- Forks: 7
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ImageProc
[![Build Status](https://travis-ci.org/chyh1990/imageproc.svg?branch=master)](https://travis-ci.org/chyh1990/imageproc)
Maintainers: @chyh1990
> Note: this project is under active depvelopment, API may change!
**imageproc** is a advanced image proccessing library for the Rust language in order to provide:
* generic pixel, image, geometry data structure alike OpenCV
* Image IO for variable image file format
* image transformations
* image processing routines, e.g. convolution, gaussian blur, etc.
* canvas and rasterization (TBD)This library is inspired by the following projects:
* [OpenCV](http://opencv.org/)
* [PistonDevelopers/image](https://github.com/PistonDevelopers/image)## Usage
Adding the following to the Cargo.toml in your project:
```
[dependencies.imageproc]
git = "https://github.com/chyh1990/imageproc.git"
```and import using *extern crate*:
```.rust
extern crate imageproc;
```Most data structures and routines are exposed uder **imageproc** prefix:
```.rust
extern crate imageproc;use std::path::Path;
use imageproc::image::*;
use imageproc::conv;
use imageproc::imageio::{ImageIO, FreeImageIO};fn main() {
let img: ImageBgra = FreeImageIO::from_path(&Path::new("cat.jpg")).unwrap();
let out = conv::gaussian_blur(&img, 11, 0f32);let target = Path::new("out.png");
FreeImageIO::save(&target, &out).unwrap();
}```
### Supported Image Format
**imageproc** use cross-platform native library to decode/encode images. The only supported backend
is [FreeImage](http://freeimage.sourceforge.net/), it includes decoders for most image formats, and encoders
for most common used formats.## Contribution
Fork & pull request on Github.