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 <[email protected]> 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 _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

