[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