All Projects → esimov → Stackblur Go

esimov / Stackblur Go

Licence: mit
A fast, almost Gaussian Blur implementation in Go

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Stackblur Go

Gaussianblur
An easy and fast library to apply gaussian blur filter on any images. 🎩
Stars: ✭ 473 (+150.26%)
Mutual labels:  image-processing, image, blur
Serverless Image Processor
AWS Lambda image processor
Stars: ✭ 106 (-43.92%)
Mutual labels:  image-processing, image
Pimg
📷 Mini Image Lazy Loader for P(R)eact and Vue
Stars: ✭ 97 (-48.68%)
Mutual labels:  image-processing, image
Imantics
📷 Reactive python package for managing, creating and visualizing different deep-learning image annotation formats
Stars: ✭ 184 (-2.65%)
Mutual labels:  image-processing, image
Processing Imageprocessing
Collection of basic image processing algorithms for processing
Stars: ✭ 87 (-53.97%)
Mutual labels:  image-processing, image
Png To Ico
convert png to ico format
Stars: ✭ 88 (-53.44%)
Mutual labels:  image-processing, image
Aesthetics
Image Aesthetics Toolkit - includes Fisher Vector implementation, AVA (Image Aesthetic Visual Analysis) dataset and fast multi-threaded downloader
Stars: ✭ 113 (-40.21%)
Mutual labels:  image-processing, image
Imagemin Module
Automatically optimize (compress) all images used in Nuxt.js
Stars: ✭ 37 (-80.42%)
Mutual labels:  image-processing, image
Bitmap
C++ Bitmap Library
Stars: ✭ 125 (-33.86%)
Mutual labels:  image-processing, image
Lerc
Limited Error Raster Compression
Stars: ✭ 126 (-33.33%)
Mutual labels:  image-processing, image
Github link creator
GitHub Link Card Creator lets you generate GitHub images has links to repositories.
Stars: ✭ 149 (-21.16%)
Mutual labels:  image-processing, image
Damselfly
Damselfly is a server-based Digital Asset Management system for photographs. The goal of Damselfly is to index an extremely large collection of images, and allow easy search and retrieval of those images, using metadata such as the IPTC keyword tags, as well as the folder and file names.
Stars: ✭ 86 (-54.5%)
Mutual labels:  image-processing, image
Skrop
Image transformation service using libvips, based on Skipper.
Stars: ✭ 71 (-62.43%)
Mutual labels:  image-processing, image
Pyautolens
PyAutoLens: Open Source Strong Gravitational Lensing
Stars: ✭ 90 (-52.38%)
Mutual labels:  image-processing, image
Pillow
The friendly PIL fork (Python Imaging Library)
Stars: ✭ 9,241 (+4789.42%)
Mutual labels:  image-processing, image
Gift
Go Image Filtering Toolkit
Stars: ✭ 1,473 (+679.37%)
Mutual labels:  image-processing, image
Hltool
Go 开发常用工具库, Google2步验证客户端,AES加密解密,RSA加密解密,钉钉机器人,邮件发送,JWT生成解析,Log,BoltDB操作,图片操作,json操作,struct序列化
Stars: ✭ 151 (-20.11%)
Mutual labels:  image-processing, image
Metalpetal
A GPU accelerated image and video processing framework built on Metal.
Stars: ✭ 907 (+379.89%)
Mutual labels:  image-processing, image
Smartcircle
✂️Automatically determine where to crop a circular image out of a rectangular.
Stars: ✭ 29 (-84.66%)
Mutual labels:  image-processing, image
Gil
Boost.GIL - Generic Image Library | Requires C++11 since Boost 1.68
Stars: ✭ 122 (-35.45%)
Mutual labels:  image-processing, image

stackblur-go

GoDoc Build Status

Go port of the Stackblur method by Mario Klingemann.

Stackblur is a compromise between Gaussian blur and Box blur, but it creates much better looking blurs than Box blur and it is ~7x faster than Gaussian blur.

Comparing to the Javascript implementation the Go version is at least 50% faster (depending on the image size and blur radius), running the same image with the same bluring radius.

Benchmark

Radius Javascript Go
20 ~15ms ~7.4ms

Installation

First, install Go, set your GOPATH, and make sure $GOPATH/bin is on your PATH.

$ export GOPATH="$HOME/go"
$ export PATH="$PATH:$GOPATH/bin"

Next build the binary file.

$ go get -u -f github.com/esimov/stackblur-go/cmd

CLI example

The provided CLI example supports the following flags:

$ stackblur --help

Usage of stackblur:
  -gif
    	Output Gif
  -in string
    	Source
  -out string
    	Destination
  -radius int
    	Radius (default 20)

The command below will generate the blurred version of the source image.

$ stackblur -in image/sample.png -out image/output.png -radius 10

The cli command supports a -gif flag, which if set as true it visualize the bluring process by outputting the result into a gif file.

API call

The API is very simple: you have to expose an image file and a blur radius to the Process function.

stackblur.Process(src, blurRadius)

Results

Original image Blured image

License

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].