summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorNick White <git@njw.name>2020-03-03 18:18:36 +0000
committerNick White <git@njw.name>2020-03-03 18:18:36 +0000
commit60071c2ea95e284f6c765528e81b930fe3fb4b92 (patch)
treeddd043afb8a97d94acee342a0f5e95dbee156cf3 /cmd
parent83f6144cfe0e91df991e107e66b73d9e037ea969 (diff)
Add experimental vertical wiping feature to wiper
Diffstat (limited to 'cmd')
-rw-r--r--cmd/wipe/main.go14
1 files changed, 9 insertions, 5 deletions
diff --git a/cmd/wipe/main.go b/cmd/wipe/main.go
index d4c95ac..beeced2 100644
--- a/cmd/wipe/main.go
+++ b/cmd/wipe/main.go
@@ -19,13 +19,16 @@ import (
func main() {
flag.Usage = func() {
- fmt.Fprintf(os.Stderr, "Usage: wipe [-m minperc] [-t thresh] [-w winsize] inimg outimg\n")
+ fmt.Fprintf(os.Stderr, "Usage: wipe inimg outimg\n")
fmt.Fprintf(os.Stderr, "Wipes the sections of an image which are outside the content area.\n")
flag.PrintDefaults()
}
- min := flag.Int("m", 30, "Minimum percentage of the image width for the content width calculation to be considered valid.")
- thresh := flag.Float64("t", 0.05, "Threshold for the proportion of black pixels below which a window is determined to be the edge. Higher means more aggressive wiping.")
- wsize := flag.Int("w", 5, "Window size for mask finding algorithm.")
+ min := flag.Int("hm", 30, "Minimum percentage of the image width for the content width calculation to be considered valid.")
+ thresh := flag.Float64("ht", 0.05, "Threshold for the proportion of black pixels below which a window is determined to be the edge. Higher means more aggressive wiping.")
+ wsize := flag.Int("hw", 5, "Window size for mask finding algorithm.")
+ vmin := flag.Int("vm", 30, "Minimum percentage of the image height for the content width calculation to be considered valid.")
+ vthresh := flag.Float64("vt", 0.005, "Threshold for the proportion of black pixels below which a vertical wipe window is determined to be the edge. Higher means more aggressive wiping.")
+ vwsize := flag.Int("vw", 120, "Window size for vertical mask finding algorithm. Should be set to approximately line height + largest expected gap.")
flag.Parse()
if flag.NArg() < 2 {
flag.Usage()
@@ -45,7 +48,8 @@ func main() {
gray := image.NewGray(image.Rect(0, 0, b.Dx(), b.Dy()))
draw.Draw(gray, b, img, b.Min, draw.Src)
- clean := preproc.Wipe(gray, *wsize, *thresh, *min)
+ sidesdone := preproc.Wipe(gray, *wsize, *thresh, *min)
+ clean := preproc.VWipe(sidesdone, *vwsize, *vthresh, *vmin)
f, err = os.Create(flag.Arg(1))
if err != nil {