stackblur-go

A fast almost Gaussian Blur implementation in Go

Github stars Tracking Chart

stackblur-go

GoDoc
Build Status

This is a Go port of Stackblur algorithm created 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 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.

Main metrics

Overview
Name With Owneresimov/stackblur-go
Primary LanguageGo
Program languageGo (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2017-09-01 07:51:05
Pushed At2025-04-30 13:40:19
Last Commit At2025-04-30 16:40:19
Release Count5
Last Release Namev1.1.1 (Posted on 2025-04-28 16:04:57)
First Release Namev1.0.0 (Posted on 2017-09-28 14:42:26)
用户参与
Stargazers Count260
Watchers Count6
Fork Count21
Commits Count72
Has Issues Enabled
Issues Count6
Issue Open Count0
Pull Requests Count3
Pull Requests Open Count0
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private