Documentation
¶
Index ¶
- func BinToZeroInv(bin *image.Gray, orig *image.RGBA) (*image.RGBA, error)
- func IntegralSauvola(img *image.Gray, ksize float64, windowsize int) *image.Gray
- func PreCalcedSauvola(integrals integralimg.WithSq, img *image.Gray, ksize float64, windowsize int) *image.Gray
- func PreProcMulti(inPath string, ksizes []float64, binType string, binWsize int, wipe bool, ...) ([]string, error)
- func Sauvola(img *image.Gray, ksize float64, windowsize int) *image.Gray
- func Wipe(img *image.Gray, wsize int, thresh float64, min int) *image.Gray
- func WipeFile(inPath string, outPath string, wsize int, thresh float64, min int) error
- type UsefulImg
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IntegralSauvola ¶
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 TODO: have this be the root function that the other two reference
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 Note: copied from cmd/preprocmulti/main.go, should think about the best way
to organise this code later.
TODO: return errors that encapsulate the err describing where it was encountered TODO: do the post-integral image stuff in separate goroutines for speed
func Sauvola ¶
Implements Sauvola's algorithm for text binarization, see paper "Adaptive document image binarization" (2000)
func Wipe ¶
Wipe fills the sections of image which fall outside the content area with white, providing the content area is above min %
func WipeFile ¶
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.
Types ¶
type UsefulImg ¶
type UsefulImg interface { MeanWindow() MeanStdDevWindow() }
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
Directories
¶
Path | Synopsis |
---|---|
cmd
|
|