diff options
| author | Nick White <git@njw.name> | 2019-05-14 11:20:33 +0100 | 
|---|---|---|
| committer | Nick White <git@njw.name> | 2019-05-14 11:20:33 +0100 | 
| commit | 6b4e704befb7f82627d2c9a4e3f4e2971fdaf883 (patch) | |
| tree | dcc721c2791377ceeb193f80941a9ad76483e380 /pgconf | |
| parent | 94601a82bd3db51b749a1e44ad116250ba545bee (diff) | |
Add pgconf tool that prints the overall confidence for a whole page of hocr
Diffstat (limited to 'pgconf')
| -rw-r--r-- | pgconf/main.go | 47 | 
1 files changed, 47 insertions, 0 deletions
| diff --git a/pgconf/main.go b/pgconf/main.go new file mode 100644 index 0000000..1b70ecc --- /dev/null +++ b/pgconf/main.go @@ -0,0 +1,47 @@ +package main + +import ( +	"flag" +	"fmt" +	"log" +	"os" + +	"rescribe.xyz/go.git/lib/hocr" +	"rescribe.xyz/go.git/lib/line" +) + +func main() { +	flag.Usage = func() { +		fmt.Fprintf(os.Stderr, "Usage: pgconf hocr\n") +		fmt.Fprintf(os.Stderr, "Prints the total confidence for a page, as an average of the confidence of each word.\n") +		flag.PrintDefaults() +	} +	flag.Parse() +	if flag.NArg() != 1 { +		flag.Usage() +		os.Exit(1) +	} + +	var err error +	lines := make(line.Details, 0) + +	for _, f := range flag.Args() { +		var newlines line.Details +		newlines, err = hocr.GetLineBasics(f) +		if err != nil { +			log.Fatal(err) +		} + +		for _, l := range newlines { +			lines = append(lines, l) +		} +	} + +	var total float64 +	for _, l := range lines { +		total += l.Avgconf +	} +	avg := total / float64(len(lines)) + +	fmt.Printf("%0.2f\n", avg) +} | 
