/Imger

A collection of image processing algorithms written in pure Go.

Primary LanguageGoMIT LicenseMIT

Imger

MIT License Build Status Go Report Card

This repository contains a collection of image processing algorithms written in pure Go. The packages are under development, their API may change over time.

Currently supported

  • IO (ImreadGray, ImreadGray16, ImreadRGBA, ImreadRGBA64, Imwrite). Supported extensions: jpg, jpeg, png
  • Grayscale
  • Blend (AddScalarToGray, AddGray, AddGrayWeighted)
  • Threshold (Binary, BinaryInv, Trunc, ToZero, ToZeroInv, Otsu)
  • Image padding (BorderConstant, BorderReplicate, BorderReflect)
  • Convolution
  • Blur (Average - Box, Gaussian)
  • Edge detection (Sobel, Laplacian, Canny)
  • Resize (Nearest Neighbour, Linear, Catmull-Rom, Lanczos)
  • Effects (Pixelate, Sepia, Emboss, Sharpen, Invert)
  • Transform (Rotate)
  • Generate (LinearGradient, SigmoidalGradient)

Install

go get -u github.com/Ernyoke/Imger/...

Tests and examples

You can find tests and examples for every package on the dev branch.

License

This project is under the MIT License. See the LICENSE file for the full license text.