From 97753052db0239d907631d4a480ac742412827d3 Mon Sep 17 00:00:00 2001 From: Nick White Date: Sun, 26 Jul 2020 23:44:41 +0100 Subject: Switch to integralimg 0.3.0 and use the new functions for integral sauvola --- sauvola.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'sauvola.go') diff --git a/sauvola.go b/sauvola.go index 9eef01b..49181de 100644 --- a/sauvola.go +++ b/sauvola.go @@ -61,7 +61,8 @@ func PreCalcedSauvola(intImg integralimg.Image, intSqImg integralimg.SqImage, im for y := b.Min.Y; y < b.Max.Y; y++ { for x := b.Min.X; x < b.Max.X; x++ { - m, dev := integralimg.MeanStdDevWindow(intImg, intSqImg, x, y, windowsize) + r := centeredRectangle(x, y, windowsize) + m, dev := integralimg.MeanStdDev(intImg, intSqImg, r) // Divide by 255 to adjust from Gray16 used by integralimg to 8 bit Gray m8 := m / 255 dev8 := dev / 255 @@ -76,3 +77,8 @@ func PreCalcedSauvola(intImg integralimg.Image, intSqImg integralimg.SqImage, im return new } + +func centeredRectangle(x, y, size int) image.Rectangle { + step := size / 2 + return image.Rect(x - step - 1, y - step - 1, x + step, y + step) +} -- cgit v1.2.1-24-ge1ad