public class Tesseract1 extends TessAPI1 implements ITesseract
TessAPI1
, 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
.Ghost4J
, a
JNA
wrapper for GPL Ghostscript
, which should be
installed and included in system path..jar
files for jna
,
jai-imageio
, and ghost4j
) are in its compile and
run-time classpath
.ITessAPI.CANCEL_FUNC, ITessAPI.EANYCODE_CHAR, ITessAPI.ETEXT_DESC, ITessAPI.TessBaseAPI, ITessAPI.TessMutableIterator, ITessAPI.TessOcrEngineMode, ITessAPI.TessOrientation, ITessAPI.TessPageIterator, ITessAPI.TessPageIteratorLevel, ITessAPI.TessPageSegMode, ITessAPI.TessPolyBlockType, ITessAPI.TessResultIterator, ITessAPI.TessTextlineOrder, ITessAPI.TessWritingDirection, ITessAPI.TimeVal
htmlBeginTag, htmlEndTag
Constructor and Description |
---|
Tesseract1() |
Modifier and Type | Method and Description |
---|---|
protected void |
dispose()
Releases all of the native resources used by this instance.
|
java.lang.String |
doOCR(java.awt.image.BufferedImage bi)
Performs OCR operation.
|
java.lang.String |
doOCR(java.awt.image.BufferedImage bi,
java.awt.Rectangle rect)
Performs OCR operation.
|
java.lang.String |
doOCR(java.io.File imageFile)
Performs OCR operation.
|
java.lang.String |
doOCR(java.io.File imageFile,
java.awt.Rectangle rect)
Performs OCR operation.
|
java.lang.String |
doOCR(int xsize,
int ysize,
java.nio.ByteBuffer buf,
java.awt.Rectangle rect,
int bpp)
Performs OCR operation.
|
java.lang.String |
doOCR(java.util.List<javax.imageio.IIOImage> imageList,
java.awt.Rectangle rect)
Performs OCR operation.
|
protected ITessAPI.TessBaseAPI |
getHandle()
Returns API handle.
|
protected java.lang.String |
getOCRText()
Gets recognized text.
|
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 . |
void |
setHocr(boolean hocr)
Enables hocr output.
|
protected void |
setImage(int xsize,
int ysize,
java.nio.ByteBuffer buf,
java.awt.Rectangle rect,
int bpp)
Sets image to be processed.
|
protected void |
setImage(java.awt.image.RenderedImage image,
java.awt.Rectangle rect)
A wrapper for
setImage(int, int, ByteBuffer, Rectangle, int) . |
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.
|
void |
setTessVariable(java.lang.String key,
java.lang.String value)
Set the value of Tesseract's internal parameter.
|
protected void |
setTessVariables()
Sets Tesseract's internal parameters.
|
TessBaseAPIAdaptToWordStr, TessBaseAPIAllWordConfidences, TessBaseAPIAnalyseLayout, TessBaseAPIClear, TessBaseAPIClearAdaptiveClassifier, TessBaseAPICreate, TessBaseAPIDelete, TessBaseAPIDumpPGM, TessBaseAPIEnd, TessBaseAPIGetAvailableLanguagesAsVector, TessBaseAPIGetBoolVariable, TessBaseAPIGetBoxText, TessBaseAPIGetDoubleVariable, TessBaseAPIGetHOCRText, TessBaseAPIGetInitLanguagesAsString, TessBaseAPIGetIntVariable, TessBaseAPIGetIterator, TessBaseAPIGetLoadedLanguagesAsVector, TessBaseAPIGetMutableIterator, TessBaseAPIGetPageSegMode, TessBaseAPIGetStringVariable, TessBaseAPIGetTextDirection, TessBaseAPIGetThresholdedImageScaleFactor, TessBaseAPIGetUnichar, TessBaseAPIGetUNLVText, TessBaseAPIGetUTF8Text, TessBaseAPIInit1, TessBaseAPIInit2, TessBaseAPIInit3, TessBaseAPIInitForAnalysePage, TessBaseAPIInitLangMod, TessBaseAPIIsValidWord, TessBaseAPIMeanTextConf, TessBaseAPIPrintVariablesToFile, TessBaseAPIProcessPages, TessBaseAPIReadConfigFile, TessBaseAPIRecognize, TessBaseAPIRecognizeForChopTest, TessBaseAPIRect, TessBaseAPISetImage, TessBaseAPISetInputName, TessBaseAPISetOutputName, TessBaseAPISetPageSegMode, TessBaseAPISetRectangle, TessBaseAPISetSourceResolution, TessBaseAPISetVariable, TessDeleteIntArray, TessDeleteText, TessDeleteTextArray, TessPageIteratorBaseline, TessPageIteratorBegin, TessPageIteratorBlockType, TessPageIteratorBoundingBox, TessPageIteratorCopy, TessPageIteratorDelete, TessPageIteratorIsAtBeginningOf, TessPageIteratorIsAtFinalElement, TessPageIteratorNext, TessPageIteratorOrientation, TessResultIteratorConfidence, TessResultIteratorCopy, TessResultIteratorDelete, TessResultIteratorGetPageIterator, TessResultIteratorGetPageIteratorConst, TessResultIteratorGetUTF8Text, TessResultIteratorSymbolIsDropcap, TessResultIteratorSymbolIsSubscript, TessResultIteratorSymbolIsSuperscript, TessResultIteratorWordFontAttributes, TessResultIteratorWordIsFromDictionary, TessResultIteratorWordIsNumeric, TessVersion
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)
ITesseract
setPageSegMode
in interface ITesseract
mode
- the page segmentation mode to setpublic void setHocr(boolean hocr)
hocr
- to enable or disable hocr outputpublic void setTessVariable(java.lang.String key, java.lang.String value)
setTessVariable
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"protected ITessAPI.TessBaseAPI getHandle()
public java.lang.String doOCR(java.io.File imageFile) throws TesseractException
doOCR
in interface ITesseract
imageFile
- an image fileTesseractException
public java.lang.String doOCR(java.io.File imageFile, java.awt.Rectangle rect) throws TesseractException
doOCR
in interface ITesseract
imageFile
- an image filerect
- the bounding rectangle defines the region of the image to be
recognized. A rectangle of zero dimension or null
indicates
the whole image.TesseractException
public java.lang.String doOCR(java.awt.image.BufferedImage bi) throws TesseractException
doOCR
in interface ITesseract
bi
- a buffered imageTesseractException
public java.lang.String doOCR(java.awt.image.BufferedImage bi, java.awt.Rectangle rect) throws TesseractException
doOCR
in interface ITesseract
bi
- a buffered imagerect
- the bounding rectangle defines the region 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.awt.Rectangle rect) throws TesseractException
doOCR
in interface ITesseract
imageList
- a list of IIOImage
objectsrect
- the bounding rectangle defines the region of the image 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, java.awt.Rectangle rect, int bpp) 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 datarect
- the bounding rectangle defines the region of the image to be
recognized. A rectangle of zero dimension or null
indicates
the whole image.bpp
- bits per pixel, represents the bit depth of the image, with 1
for binary bitmap, 8 for gray, and 24 for color RGB.TesseractException
protected void init()
protected void setTessVariables()
protected void setImage(java.awt.image.RenderedImage image, java.awt.Rectangle rect) throws java.io.IOException
setImage(int, int, ByteBuffer, Rectangle, int)
.image
- rect
- java.io.IOException
protected void setImage(int xsize, int ysize, java.nio.ByteBuffer buf, java.awt.Rectangle rect, int bpp)
xsize
- width of imageysize
- height of imagebuf
- pixel datarect
- the bounding rectangle defines the region of the image to be
recognized. A rectangle of zero dimension or null
indicates
the whole image.bpp
- bits per pixel, represents the bit depth of the image, with 1
for binary bitmap, 8 for gray, and 24 for color RGB.protected java.lang.String getOCRText()
protected void dispose()