This repository contains a collection of image processing algorithms written in pure Go. The packages are under development, their API may change over time.
- 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)
go get -u github.com/Ernyoke/Imger/...
You can find tests and examples for every package on the dev
branch.
This project is under the MIT License. See the LICENSE file for the full license text.