public class Tesseract extends java.lang.Object implements ITesseract
TessAPI
, provides character
recognition support for common image formats, and multi-page TIFF images
beyond the uncompressed, binary TIFF format supported by Tesseract OCR
engine. The extended capabilities are provided by the
Java Advanced Imaging Image I/O Tools
.PDFBox
..jar
files for jna
and
jai-imageio
) are in its compile and run-time
classpath
.ITesseract.RenderedFormat
DOCUMENT_TITLE, htmlBeginTag, htmlEndTag, PAGE_SEPARATOR
Constructor and Description |
---|
Tesseract() |
Modifier and Type | Method and Description |
---|---|
void |
createDocuments(java.lang.String[] filenames,
java.lang.String[] outputbases,
java.util.List<ITesseract.RenderedFormat> formats)
Creates documents for given renderer.
|
java.util.List<OCRResult> |
createDocumentsWithResults(java.awt.image.BufferedImage[] bis,
java.lang.String[] filenames,
java.lang.String[] outputbases,
java.util.List<ITesseract.RenderedFormat> formats,
int pageIteratorLevel)
Creates documents with OCR results for given renderers at specified page
iterator level.
|
OCRResult |
createDocumentsWithResults(java.awt.image.BufferedImage bi,
java.lang.String filename,
java.lang.String outputbase,
java.util.List<ITesseract.RenderedFormat> formats,
int pageIteratorLevel)
Creates documents with OCR result for given renderers at specified page
iterator level.
|
java.util.List<OCRResult> |
createDocumentsWithResults(java.lang.String[] filenames,
java.lang.String[] outputbases,
java.util.List<ITesseract.RenderedFormat> formats,
int pageIteratorLevel)
Creates documents with OCR results for given renderers at specified page
iterator level.
|
OCRResult |
createDocumentsWithResults(java.lang.String filename,
java.lang.String outputbase,
java.util.List<ITesseract.RenderedFormat> formats,
int pageIteratorLevel)
Creates documents with OCR result for given renderers at specified page
iterator level.
|
protected void |
dispose()
Releases all of the native resources used by this instance.
|
java.lang.String |
doOCR(java.io.File inputFile,
java.util.List<java.awt.Rectangle> rects)
Performs OCR operation.
|
java.lang.String |
doOCR(int xsize,
int ysize,
java.nio.ByteBuffer buf,
int bpp,
java.lang.String filename,
java.util.List<java.awt.Rectangle> rects)
Performs OCR operation.
|
java.lang.String |
doOCR(java.util.List<javax.imageio.IIOImage> imageList,
java.lang.String filename,
java.util.List<java.util.List<java.awt.Rectangle>> roiss)
Performs OCR operation.
|
protected TessAPI |
getAPI()
Returns TessAPI object.
|
protected ITessAPI.TessBaseAPI |
getHandle()
Returns API handle.
|
protected java.lang.String |
getOCRText(java.lang.String filename,
int pageNum)
Gets recognized text.
|
OSDResult |
getOSD(java.awt.image.BufferedImage bi)
Gets the detected orientation of the input image and apparent script
(alphabet).
|
OSDResult |
getOSD(java.io.File imageFile)
Gets the detected orientation of the input image and apparent script
(alphabet).
|
java.util.List<java.awt.Rectangle> |
getSegmentedRegions(java.awt.image.BufferedImage bi,
int pageIteratorLevel)
Gets segmented regions at specified page iterator level.
|
java.util.List<Word> |
getWords(java.util.List<java.awt.image.BufferedImage> biList,
int pageIteratorLevel)
Gets recognized words at specified page iterator level.
|
protected void |
init()
Initializes Tesseract engine.
|
void |
setConfigs(java.util.List<java.lang.String> configs)
Sets configs to be passed to Tesseract's
Init method. |
void |
setDatapath(java.lang.String datapath)
Sets path to
tessdata . |
protected void |
setImage(int xsize,
int ysize,
java.nio.ByteBuffer buf,
int bpp)
Sets image to be processed.
|
protected void |
setImage(java.awt.image.RenderedImage image)
Sets image to be processed.
|
void |
setLanguage(java.lang.String language)
Sets language for OCR.
|
void |
setOcrEngineMode(int ocrEngineMode)
Sets OCR engine mode.
|
void |
setPageSegMode(int mode)
Sets page segmentation mode.
|
protected void |
setROI(java.awt.Rectangle rect)
Sets region of interest.
|
void |
setVariable(java.lang.String key,
java.lang.String value)
Set the value of Tesseract's internal parameter.
|
protected void |
setVariables()
Sets Tesseract's internal parameters.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
createDocuments, doOCR, doOCR, doOCR, getWords
protected TessAPI getAPI()
protected ITessAPI.TessBaseAPI getHandle()
public void setDatapath(java.lang.String datapath)
tessdata
.setDatapath
in interface ITesseract
datapath
- the tessdata path to setpublic void setLanguage(java.lang.String language)
setLanguage
in interface ITesseract
language
- the language code, which follows ISO 639-3 standard.public void setOcrEngineMode(int ocrEngineMode)
setOcrEngineMode
in interface ITesseract
ocrEngineMode
- the OcrEngineMode to setpublic void setPageSegMode(int mode)
setPageSegMode
in interface ITesseract
mode
- the page segmentation mode to setpublic void setVariable(java.lang.String key, java.lang.String value)
setVariable
in interface ITesseract
key
- variable name, e.g., tessedit_create_hocr
,
tessedit_char_whitelist
, etc.value
- value for corresponding variable, e.g., "1", "0",
"0123456789", etc.public void setConfigs(java.util.List<java.lang.String> configs)
Init
method.setConfigs
in interface ITesseract
configs
- list of config filenames, e.g., "digits", "bazaar",
"quiet"public java.lang.String doOCR(java.io.File inputFile, java.util.List<java.awt.Rectangle> rects) throws TesseractException
doOCR
in interface ITesseract
inputFile
- an image filerects
- list of the bounding rectangles defines the regions of the
image to be recognized. A rectangle of zero dimension or
null
indicates the whole image.TesseractException
public java.lang.String doOCR(java.util.List<javax.imageio.IIOImage> imageList, java.lang.String filename, java.util.List<java.util.List<java.awt.Rectangle>> roiss) throws TesseractException
doOCR
in interface ITesseract
imageList
- a list of IIOImage
objectsfilename
- input file name. Needed only for training and reading a
UNLV zone file.roiss
- list of list of the bounding rectangles defines the regions
of the images to be recognized. A rectangle of zero dimension or
null
indicates the whole image.TesseractException
public java.lang.String doOCR(int xsize, int ysize, java.nio.ByteBuffer buf, int bpp, java.lang.String filename, java.util.List<java.awt.Rectangle> rects) throws TesseractException
SetImage
, (optionally)
SetRectangle
, and one or more of the Get*Text
functions.doOCR
in interface ITesseract
xsize
- width of imageysize
- height of imagebuf
- pixel databpp
- bits per pixel, represents the bit depth of the image, with 1
for binary bitmap, 8 for gray, and 24 for color RGB.filename
- input file name. Needed only for training and reading a
UNLV zone file.rects
- list of the bounding rectangle defines the regions of the
image to be recognized. A rectangle of zero dimension or
null
indicates the whole image.TesseractException
protected void init()
protected void setVariables()
protected void setImage(java.awt.image.RenderedImage image) throws java.io.IOException
Pix
vs raw, which to use? Pix
is the preferred
input for efficiency, since raw buffers are copied.
SetImage
for Pix clones its input, so the source pix may be
pixDestroyed
immediately after, but may not go away until
after the Thresholder has finished with it.image
- a rendered imagejava.io.IOException
protected void setImage(int xsize, int ysize, java.nio.ByteBuffer buf, int bpp)
xsize
- width of imageysize
- height of imagebuf
- pixel databpp
- bits per pixel, represents the bit depth of the image, with 1
for binary bitmap, 8 for gray, and 24 for color RGB.protected void setROI(java.awt.Rectangle rect)
rect
- region of interestprotected java.lang.String getOCRText(java.lang.String filename, int pageNum)
filename
- input file name. Needed only for reading a UNLV zone
file.pageNum
- page number; needed for hocr paging.public void createDocuments(java.lang.String[] filenames, java.lang.String[] outputbases, java.util.List<ITesseract.RenderedFormat> formats) throws TesseractException
createDocuments
in interface ITesseract
filenames
- array of input filesoutputbases
- array of output filenames without extensionformats
- types of rendererTesseractException
public java.util.List<java.awt.Rectangle> getSegmentedRegions(java.awt.image.BufferedImage bi, int pageIteratorLevel) throws TesseractException
getSegmentedRegions
in interface ITesseract
bi
- input buffered imagepageIteratorLevel
- TessPageIteratorLevel enumRectangle
TesseractException
public java.util.List<Word> getWords(java.util.List<java.awt.image.BufferedImage> biList, int pageIteratorLevel)
getWords
in interface ITesseract
biList
- list of input buffered imagespageIteratorLevel
- TessPageIteratorLevel enumWord
public OCRResult createDocumentsWithResults(java.awt.image.BufferedImage bi, java.lang.String filename, java.lang.String outputbase, java.util.List<ITesseract.RenderedFormat> formats, int pageIteratorLevel) throws TesseractException
createDocumentsWithResults
in interface ITesseract
bi
- input buffered imagefilename
- filename (optional)outputbase
- output filenames without extensionformats
- types of rendererpageIteratorLevel
- TessPageIteratorLevel enumTesseractException
public java.util.List<OCRResult> createDocumentsWithResults(java.awt.image.BufferedImage[] bis, java.lang.String[] filenames, java.lang.String[] outputbases, java.util.List<ITesseract.RenderedFormat> formats, int pageIteratorLevel) throws TesseractException
createDocumentsWithResults
in interface ITesseract
bis
- array of input buffered imagesfilenames
- array of filenamesoutputbases
- array of output filenames without extensionformats
- types of rendererpageIteratorLevel
- TessPageIteratorLevel enumTesseractException
public OCRResult createDocumentsWithResults(java.lang.String filename, java.lang.String outputbase, java.util.List<ITesseract.RenderedFormat> formats, int pageIteratorLevel) throws TesseractException
createDocumentsWithResults
in interface ITesseract
filename
- input fileoutputbase
- output filenames without extensionformats
- types of rendererpageIteratorLevel
- TessPageIteratorLevel enumTesseractException
public java.util.List<OCRResult> createDocumentsWithResults(java.lang.String[] filenames, java.lang.String[] outputbases, java.util.List<ITesseract.RenderedFormat> formats, int pageIteratorLevel) throws TesseractException
createDocumentsWithResults
in interface ITesseract
filenames
- array of input filesoutputbases
- array of output filenames without extensionformats
- types of rendererpageIteratorLevel
- TessPageIteratorLevel enumTesseractException
public OSDResult getOSD(java.io.File imageFile)
getOSD
in interface ITesseract
imageFile
- an image filepublic OSDResult getOSD(java.awt.image.BufferedImage bi)
getOSD
in interface ITesseract
bi
- a buffered imageprotected void dispose()
Copyright © 2025 Tess4J. All rights reserved.