Skip to content

chyh1990/imageproc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ImageProc

Build Status

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:

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:

extern crate imageproc;

Most data structures and routines are exposed uder imageproc prefix:

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, it includes decoders for most image formats, and encoders for most common used formats.

Contribution

Fork & pull request on Github.

About

An advanced image processing library for Rust.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages