[sikuli] 132/385: revised TextRecognizer initialization and finally moved export of tessdata to here
Gilles Filippini
pini at moszumanska.debian.org
Sun Jun 29 19:26:00 UTC 2014
This is an automated email from the git hooks/post-receive script.
pini pushed a commit to tag upstream/1.1.0_beta1
in repository sikuli.
commit 0266d4b9c79f1dc5ab2b5f7cee710969b428e735
Author: Raimund Hocke <rmhdevelop at me.com>
Date: Tue Jan 7 12:33:19 2014 +0100
revised TextRecognizer initialization and finally moved export of tessdata to here
---
API/src/main/java/org/sikuli/script/Finder.java | 2 --
.../java/org/sikuli/script/TextRecognizer.java | 40 +++++++++++++---------
.../java/org/sikuli/basics/ResourceLoader.java | 4 ---
3 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/API/src/main/java/org/sikuli/script/Finder.java b/API/src/main/java/org/sikuli/script/Finder.java
index 28e98f3..259ab07 100755
--- a/API/src/main/java/org/sikuli/script/Finder.java
+++ b/API/src/main/java/org/sikuli/script/Finder.java
@@ -31,8 +31,6 @@ public class Finder implements Iterator<Match> {
//TODO Vision.setParameter("GPU", 1);
static {
FileManager.loadLibrary("VisionProxy");
-//TODO check wether this must be here (plain Maven usage)
- new TextRecognizer(){}.init();
}
/**
diff --git a/API/src/main/java/org/sikuli/script/TextRecognizer.java b/API/src/main/java/org/sikuli/script/TextRecognizer.java
index 7b4e336..f78e32f 100755
--- a/API/src/main/java/org/sikuli/script/TextRecognizer.java
+++ b/API/src/main/java/org/sikuli/script/TextRecognizer.java
@@ -6,10 +6,10 @@
*/
package org.sikuli.script;
+import java.awt.image.BufferedImage;
import org.sikuli.basics.Settings;
import org.sikuli.basics.FileManager;
import org.sikuli.basics.Debug;
-import java.awt.image.*;
import java.io.*;
import java.util.LinkedList;
import java.util.List;
@@ -21,45 +21,51 @@ import org.sikuli.natives.Vision;
// Singleton
public class TextRecognizer {
- protected static TextRecognizer _instance = null;
+ private static TextRecognizer _instance = null;
+ private static boolean _init_succeeded = false;
static {
FileManager.loadLibrary("VisionProxy");
}
- protected TextRecognizer() {
+ private TextRecognizer() {
init();
}
- boolean _init_succeeded = false;
public void init() {
String path;
- File fpath;
- path = FileManager.slashify(Settings.OcrDataPath, true);
- fpath = new File(path, "tessdata");
- if (!fpath.exists()) {
- Settings.OcrDataPath = null;
- Debug.error("TextRecognizer: init: tessdata folder not found at %s", path);
- Settings.OcrTextRead = false;
- Settings.OcrTextSearch = false;
- } else {
- Debug.log(2, "OCR data path: " + path);
+ File fpath = null;
+ if (Settings.OcrDataPath != null) {
+ path = FileManager.slashify(Settings.OcrDataPath, true);
+ fpath = new File(path, "tessdata");
+ if (!fpath.exists()) {
+ FileManager.getNativeLoader("basic", null).doSomethingSpecial("exportTessdata", new String[]{});
+ }
+ if (!fpath.exists()) {
+ Debug.error("TextRecognizer not working: tessdata folder not found at %s", path);
+ Settings.OcrTextRead = false;
+ Settings.OcrTextSearch = false;
+ fpath = null;
+ }
+ }
+ if (fpath != null) {
Vision.initOCR(FileManager.slashify(Settings.OcrDataPath, true));
_init_succeeded = true;
- Debug.log(2, "TextRecognizer: inited.");
+ Debug.log(3, "TextRecognizer: init OK: using as data folder: " + fpath.getAbsolutePath());
}
}
public static TextRecognizer getInstance() {
if (_instance == null) {
_instance = new TextRecognizer();
- if (!_instance._init_succeeded ) _instance = null;
+ }
+ if (!_init_succeeded) {
+ return null;
}
return _instance;
}
public enum ListTextMode {
-
WORD, LINE, PARAGRAPH
};
diff --git a/Basics/src/main/java/org/sikuli/basics/ResourceLoader.java b/Basics/src/main/java/org/sikuli/basics/ResourceLoader.java
index 1a740fd..ba36cd5 100755
--- a/Basics/src/main/java/org/sikuli/basics/ResourceLoader.java
+++ b/Basics/src/main/java/org/sikuli/basics/ResourceLoader.java
@@ -427,10 +427,6 @@ public class ResourceLoader implements IResourceLoader {
} else {
Settings.OcrDataPath = "/usr/local/share";
}
-//TODO check wether needed here (plain Maven usage)
- doSomethingSpecial("exportTessdata", new String[]{});
- log(lvl, "Using as Tesseract data folder: "
- + new File(Settings.OcrDataPath, "tessdata").getAbsolutePath());
}
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/sikuli.git
More information about the pkg-java-commits
mailing list