public class Tesseract1 extends TessAPI1
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
.TessAPI1.ETEXT_DESC, TessAPI1.TessBaseAPI, TessAPI1.TessMutableIterator, TessAPI1.TessOcrEngineMode, TessAPI1.TessOrientation, TessAPI1.TessPageIterator, TessAPI1.TessPageIteratorLevel, TessAPI1.TessPageSegMode, TessAPI1.TessPolyBlockType, TessAPI1.TessResultIterator, TessAPI1.TessTextlineOrder, TessAPI1.TessWritingDirection
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
htmlBeginTag |
static java.lang.String |
htmlEndTag |
FALSE, LIB_NAME, LIB_NAME_NON_WIN, TRUE
Constructor and Description |
---|
Tesseract1()
Public constructor.
|
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 TessAPI1.TessBaseAPI |
getHandle()
Returns API handle.
|
protected java.lang.String |
getOCRText()
Gets recognized text.
|
protected void |
init()
Initializes Tesseract engine.
|
void |
setDatapath(java.lang.String datapath) |
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) |
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 static final java.lang.String htmlBeginTag
public static final java.lang.String htmlEndTag
public void setDatapath(java.lang.String datapath)
datapath
- the tessdata path to setpublic void setLanguage(java.lang.String language)
language
- the language code, which follows ISO 639-3 standard.public void setOcrEngineMode(int ocrEngineMode)
ocrEngineMode
- the OcrEngineMode to setpublic void setPageSegMode(int mode)
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)
key
- variable name, e.g.,
tessedit_create_hocr
,
tessedit_char_whitelist
, etc.value
- value for corresponding variable, e.g., "1", "0",
"0123456789", etc.protected TessAPI1.TessBaseAPI getHandle()
public java.lang.String doOCR(java.io.File imageFile) throws TesseractException
imageFile
- an image fileTesseractException
public java.lang.String doOCR(java.io.File imageFile, java.awt.Rectangle rect) throws TesseractException
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
bi
- a buffered imageTesseractException
public java.lang.String doOCR(java.awt.image.BufferedImage bi, java.awt.Rectangle rect) throws TesseractException
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
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.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)
.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()