Back to godoc.org
rescribe.xyz/preproc

package preproc

v0.1.3
Latest Go to latest
Published: May 4, 2020 | License: GPL3 | Module: rescribe.xyz/preproc

Overview

preproc contains various image processing methods which are useful for preprocessing page images for OCR. It contains both library functions to incorporate into your own projects and standalone tools which can be used directly.

Index

func BinToZeroInv

func BinToZeroInv(bin *image.Gray, orig *image.RGBA) (*image.RGBA, error)

BinToZeroInv converts a binary thresholded image to a zero inverse binary thresholded image

func IntegralSauvola

func IntegralSauvola(img *image.Gray, ksize float64, windowsize int) *image.Gray

Implements Sauvola's algorithm using Integral Images, see paper "Efficient Implementation of Local Adaptive Thresholding Techniques Using Integral Images" and https://stackoverflow.com/questions/13110733/computing-image-integral

func PreCalcedSauvola

func PreCalcedSauvola(integrals integralimg.WithSq, img *image.Gray, ksize float64, windowsize int) *image.Gray

PreCalcedSauvola Implements Sauvola's algorithm using precalculated Integral Images

func PreProcMulti

func PreProcMulti(inPath string, ksizes []float64, binType string, binWsize int, wipe bool, wipeWsize int, wipeMinWidthPerc int) ([]string, error)

PreProcMulti binarizes and preprocesses an image with multiple binarisation levels. inPath: Path of input image. ksizes: Slice of k values to pass to Sauvola algorithm binType: Type of binarization threshold. binary or zeroinv are currently implemented. binWsize: Window size for sauvola binarization algorithm. Set automatically based on resolution if 0. wipe: Whether to wipe (clear sides) the image wipeWsize: Window size for wiping algorithm wipeMinWidthPerc: Minimum percentage of the image width for the content width calculation to be considered valid

func Sauvola

func Sauvola(img *image.Gray, ksize float64, windowsize int) *image.Gray

Implements Sauvola's algorithm for text binarization, see paper "Adaptive document image binarization" (2000)

func VWipe

func VWipe(img *image.Gray, wsize int, thresh float64, min int) *image.Gray

VWipe fills the sections of image which fall outside the vertical content area with white, providing the content area is above min %

func Wipe

func Wipe(img *image.Gray, wsize int, thresh float64, min int) *image.Gray

Wipe fills the sections of image which fall outside the content area with white, providing the content area is above min %

func WipeFile

func WipeFile(inPath string, outPath string, wsize int, thresh float64, min int) error

WipeFile wipes an image file, filling the sections of the image which fall outside the content area with white, providing the content area is above min %. inPath: path of the input image. outPath: path to save the output image. wsize: window size for wipe algorithm. thresh: threshold for wipe algorithm. min: minimum % of content area width to consider valid.

type UsefulImg

type UsefulImg interface {
	// TODO: name better; maybe verb, x-er
	// TODO: implement these for regular image, and use them to make
	//       image functions generic for integral and non- images
	MeanWindow()
	MeanStdDevWindow()
}
Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
f or F : Jump to identifier