Skip to content

Commit

Permalink
Upgrade to Tesseract 4.00alpha (a011b15)
Browse files Browse the repository at this point in the history
  • Loading branch information
nguyenq committed Feb 18, 2017
1 parent 30f9b99 commit 0750d61
Show file tree
Hide file tree
Showing 14 changed files with 25 additions and 17 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>net.sourceforge.tess4j</groupId>
<artifactId>tess4j</artifactId>
<version>3.3.1-SNAPSHOT</version>
<version>4.0.0-SNAPSHOT</version>
<packaging>jar</packaging>

<name>Tess4J - Tesseract for Java</name>
Expand Down
16 changes: 12 additions & 4 deletions src/main/java/net/sourceforge/tess4j/ITessAPI.java
Expand Up @@ -46,13 +46,13 @@ public static interface TessOcrEngineMode {
*/
public static final int OEM_TESSERACT_ONLY = 0;
/**
* Run Cube only - better accuracy, but slower
* Run just the LSTM line recognizer
*/
public static final int OEM_CUBE_ONLY = 1;
public static final int OEM_LSTM_ONLY = 1;
/**
* Run both and combine results - best accuracy
* Run the LSTM recognizer, but allow fallback to Tesseract when things get difficult
*/
public static final int OEM_TESSERACT_CUBE_COMBINED = 2;
public static final int OEM_TESSERACT_LSTM_COMBINED = 2;
/**
* Specify this mode when calling <code>init_*()</code>, to indicate
* that any of the above modes should be automatically inferred from the
Expand All @@ -61,6 +61,14 @@ public static interface TessOcrEngineMode {
* <code>OEM_TESSERACT_ONLY</code>.
*/
public static final int OEM_DEFAULT = 3;
// /**
// * Run Cube only - better accuracy, but slower
// */
// public static final int OEM_CUBE_ONLY = 4;
// /**
// * Run both and combine results - best accuracy
// */
// public static final int OEM_TESSERACT_CUBE_COMBINED = 5;
};

/**
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/net/sourceforge/tess4j/TessAPI.java
Expand Up @@ -74,7 +74,7 @@ public interface TessAPI extends Library, ITessAPI {

TessResultRenderer TessHOcrRendererCreate(String outputbase);

TessResultRenderer TessPDFRendererCreate(String outputbase, String datadir);
TessResultRenderer TessPDFRendererCreate(String outputbase, String datadir, int textonly);

TessResultRenderer TessUnlvRendererCreate(String outputbase);

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/net/sourceforge/tess4j/TessAPI1.java
Expand Up @@ -74,7 +74,7 @@ public class TessAPI1 implements Library, ITessAPI {

public static native TessResultRenderer TessHOcrRendererCreate(String outputbase);

public static native TessResultRenderer TessPDFRendererCreate(String outputbase, String datadir);
public static native TessResultRenderer TessPDFRendererCreate(String outputbase, String datadir, int textonly);

public static native TessResultRenderer TessUnlvRendererCreate(String outputbase);

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/net/sourceforge/tess4j/Tesseract.java
Expand Up @@ -468,9 +468,9 @@ private TessResultRenderer createRenderers(String outputbase, List<RenderedForma
case PDF:
String dataPath = api.TessBaseAPIGetDatapath(handle);
if (renderer == null) {
renderer = api.TessPDFRendererCreate(outputbase, dataPath);
renderer = api.TessPDFRendererCreate(outputbase, dataPath, TRUE);
} else {
api.TessResultRendererInsert(renderer, api.TessPDFRendererCreate(outputbase, dataPath));
api.TessResultRendererInsert(renderer, api.TessPDFRendererCreate(outputbase, dataPath, TRUE));
}
break;
case BOX:
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/net/sourceforge/tess4j/Tesseract1.java
Expand Up @@ -434,9 +434,9 @@ private TessResultRenderer createRenderers(String outputbase, List<RenderedForma
case PDF:
String dataPath = TessBaseAPIGetDatapath(handle);
if (renderer == null) {
renderer = TessPDFRendererCreate(outputbase, dataPath);
renderer = TessPDFRendererCreate(outputbase, dataPath, TRUE);
} else {
TessResultRendererInsert(renderer, TessPDFRendererCreate(outputbase, dataPath));
TessResultRendererInsert(renderer, TessPDFRendererCreate(outputbase, dataPath, TRUE));
}
break;
case BOX:
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/net/sourceforge/tess4j/util/LoadLibs.java
Expand Up @@ -47,7 +47,7 @@ public class LoadLibs {
/**
* Native library name.
*/
public static final String LIB_NAME = "libtesseract305";
public static final String LIB_NAME = "libtesseract400";
public static final String LIB_NAME_NON_WIN = "tesseract";

private static final org.slf4j.Logger logger = LoggerFactory.getLogger(new LoggHelper().toString());
Expand Down
Binary file removed src/main/resources/win32-x86-64/libtesseract305.dll
Binary file not shown.
Binary file not shown.
Binary file removed src/main/resources/win32-x86/libtesseract305.dll
Binary file not shown.
Binary file added src/main/resources/win32-x86/libtesseract400.dll
Binary file not shown.
4 changes: 2 additions & 2 deletions src/test/java/net/sourceforge/tess4j/TessAPI1Test.java
Expand Up @@ -209,7 +209,7 @@ public void testTessBaseAPIGetComponentImages() throws Exception {
@Test
public void testTessVersion() {
logger.info("TessVersion");
String expResult = "3.05";
String expResult = "4.00";
String result = TessAPI1.TessVersion();
logger.info(result);
assertTrue(result.startsWith(expResult));
Expand Down Expand Up @@ -636,7 +636,7 @@ public void testResultRenderer() throws Exception {
TessAPI1.TessResultRendererInsert(renderer, TessAPI1.TessBoxTextRendererCreate(outputbase));
TessAPI1.TessResultRendererInsert(renderer, TessAPI1.TessTextRendererCreate(outputbase));
String dataPath = TessAPI1.TessBaseAPIGetDatapath(handle);
TessAPI1.TessResultRendererInsert(renderer, TessAPI1.TessPDFRendererCreate(outputbase, dataPath));
TessAPI1.TessResultRendererInsert(renderer, TessAPI1.TessPDFRendererCreate(outputbase, dataPath, TRUE));
int result = TessAPI1.TessBaseAPIProcessPages(handle, image, null, 0, renderer);

// if (result == FALSE) {
Expand Down
2 changes: 1 addition & 1 deletion src/test/java/net/sourceforge/tess4j/TessAPIImpl.java
Expand Up @@ -69,7 +69,7 @@ public ITessAPI.TessResultRenderer TessHOcrRendererCreate(String outputbase) {
}

@Override
public ITessAPI.TessResultRenderer TessPDFRendererCreate(String outputbase, String datadir) {
public ITessAPI.TessResultRenderer TessPDFRendererCreate(String outputbase, String datadir, int textonly) {
throw new UnsupportedOperationException("Not supported yet.");
}

Expand Down
4 changes: 2 additions & 2 deletions src/test/java/net/sourceforge/tess4j/TessAPITest.java
Expand Up @@ -212,7 +212,7 @@ public void testTessBaseAPIGetComponentImages() throws Exception {
@Test
public void testTessVersion() {
logger.info("TessVersion");
String expResult = "3.05";
String expResult = "4.00";
String result = api.TessVersion();
logger.info(result);
assertTrue(result.startsWith(expResult));
Expand Down Expand Up @@ -642,7 +642,7 @@ public void testResultRenderer() throws Exception {
api.TessResultRendererInsert(renderer, api.TessBoxTextRendererCreate(outputbase));
api.TessResultRendererInsert(renderer, api.TessTextRendererCreate(outputbase));
String dataPath = api.TessBaseAPIGetDatapath(handle);
api.TessResultRendererInsert(renderer, api.TessPDFRendererCreate(outputbase, dataPath));
api.TessResultRendererInsert(renderer, api.TessPDFRendererCreate(outputbase, dataPath, TRUE));
int result = api.TessBaseAPIProcessPages(handle, image, null, 0, renderer);

if (result == FALSE) {
Expand Down

0 comments on commit 0750d61

Please sign in to comment.