diff options
author | Nick White <git@njw.name> | 2019-01-30 16:42:02 +0000 |
---|---|---|
committer | Nick White <git@njw.name> | 2019-01-30 19:19:44 +0000 |
commit | 6bb8ffba746fbcea8a8a359a32afdd591dab0f25 (patch) | |
tree | e3c43d69b64d9e6fdc3e09e2a8e80122271568ea /binarize/binarize.go | |
parent | 26a61941cf0216202aee3378f17b05255170da17 (diff) |
Add integral image functionality to enable massive speedup of Sauvola
Note that there are some very small differences to the output compared
to the basic algorithm, but this doesn't make much difference.
This is due to minor differences with the standard deviation
calculation throughout, and with mean calculation at edges, for reasons
I'm unclear about.
WIP integral image speedup. mean is working
Very WIP, but mean is perfect once full window is used
Integral version all working!
Remove debugging info
Organise code better
Diffstat (limited to 'binarize/binarize.go')
-rw-r--r-- | binarize/binarize.go | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/binarize/binarize.go b/binarize/binarize.go deleted file mode 100644 index fa8a30f..0000000 --- a/binarize/binarize.go +++ /dev/null @@ -1,40 +0,0 @@ -package main - -import ( - "flag" - "fmt" - "log" - "os" - - "github.com/Ernyoke/Imger/imgio" -) - -func main() { - flag.Usage = func() { - fmt.Fprintf(os.Stderr, "Usage: binarize [-w num] [-k num] inimg outimg\n") - flag.PrintDefaults() - } - wsize := flag.Int("w", 31, "Window size for sauvola algorithm") - ksize := flag.Float64("k", 0.5, "K for sauvola algorithm") - flag.Parse() - if flag.NArg() < 2 { - flag.Usage() - os.Exit(1) - } - - img, err := imgio.ImreadGray(flag.Arg(0)) - if err != nil { - log.Fatalf("Could not read image %s\n", flag.Arg(0)) - } - - // TODO: should be able to estimate an appropriate window size based on resolution - thresh := Sauvola(img, *ksize, *wsize) - if err != nil { - log.Fatal("Error binarising image\n") - } - - err = imgio.Imwrite(thresh, flag.Arg(1)) - if err != nil { - log.Fatalf("Could not write image %s\n", flag.Arg(1)) - } -} |