[1.0.1] tessdata folder not found after setup with option 5 --- workaround --- fixed with 1.1.0-Beta2

Bug #1214589 reported by RaiMan
26
This bug affects 4 people
Affects Status Importance Assigned to Milestone
SikuliX
Fix Committed
Critical
RaiMan

Bug Description

--- TAKE CARE:
if you came here, because of symptoms described in bug 1218138:
Simply run setup again (preferably in empty folder) to get the latest version.

--------------------------------------------------------------------

--- problem
even though tessdata.jar was downloaded and processed by setup, the tessdata folder is not in the libs folder.

--- workaround
simply delete the libs folder and start the IDE, run a script or use sikuli-java.jar as usual. The libs folder now including the tessdata folder is recreated from sikuli-ide.jar, sikuli-script.jar or sikuli-java.jar.

TAKE CARE: As documented in the setup information: SikuliX MUST be setup in a folder with full access rights in the current user's context. Do not setup in the Windows program folders (as with RC3) or any other Windows specific folder with probably restricted access rights.

--------------------------------------------------------------------------

Hi,

I have installed the new version of Sikuli (1.0.1) according to these recommendations by RaiMan:
https://answers.launchpad.net/sikuli/+question/234061

Everything seemed fine, before I have tried to use the text recognition utilities.
After running my script, I have received the following error:

[error] TextRecognizer: init: tessdata folder not found at C:/SikuliX/libs/

After all subsequent attempts to use text recognition (within the same script run), the error appeared few more times but with no path specified, like that:

[error] TextRecognizer: init: tessdata folder not found at

When I have checked the abovementioned path, I haven't found the tessdata folder as it was indicated by the error.
My solution was to copy the tessdata folder from my previous Sikuli version (1.0.0) folder. After this done, the script ran successfully.

Is that a bug or just a side effect of the non-standard installation?

Thanks!
Eugene

RaiMan (raimund-hocke)
Changed in sikuli:
status: New → Fix Committed
importance: Undecided → High
assignee: nobody → RaiMan (raimund-hocke)
milestone: none → 1.1.0
summary: - [1.0.1] tessdata folder not found after setup with option 5
+ [1.0.1] tessdata folder not found after setup with option 5 ---
+ workaround
description: updated
Revision history for this message
Glenn Hafstrom (g-hafstrom) wrote : Re: [1.0.1] tessdata folder not found after setup with option 5 --- workaround

Hi

I'm using Sikuli for the first time and got the sames error when I'm running the windows tutorial.

[error] TextRecognizer: init: tessdata folder not found at C:/Sikuli/libs/
[error] Region.find(text): text search is now switched off

[error] script [ *Untitled ] stopped with error in line 1
[error] FindFailed ( Text search currently switched off )

I have done as described for the workaround and the libs folder was created but no tessdata folder.
The only thing that has to do with tessdata is the file: libtesseract-3.dll under the libs folder.

Regards
Glenn

RaiMan (raimund-hocke)
description: updated
Revision history for this message
prizrakfantezi (prizrakfantezi) wrote :

Sikuli IDE 1.0.1
Win 7 x64

Steps:
1) run Sikule IDE
2) type a code "wait()" (for example)
3) Take screenshot

! get message "[error] TextRecognizer: init: tessdata folder not found at C:/Program Files (x86)/sikuli/libs/"

4) click the icon of this pattern and go to Matching Preview

! Sikuli don't find the pattern in screen and do not stop searching

Comment: if the project saved on disk, the bug do not reproduced

Revision history for this message
prizrakfantezi (prizrakfantezi) wrote :

the bug's reproduced

Changed in sikuli:
status: Fix Committed → Invalid
RaiMan (raimund-hocke)
Changed in sikuli:
status: Invalid → Fix Committed
Revision history for this message
RaiMan (raimund-hocke) wrote :

@ prizrakfantezi
I just checked with a fresh setup on Win 7 (32-Bit or 64-bit does not matter here):
It works acccording to the specified workaround at the top.

To clarify your situation:
- delete the folder: C:/Program Files (x86)/sikuli/libs/
- in a commandline window start the IDE using:
runIde.cmd -d 3 -c

among other messages there should be this one:
... Found 30 files in META-INF/libs/tessdata

which means, that you now have a valid tessdata folder in libs.

BTW: against the recommendation you seem to run SikuliX from a program folder. There might be problems because the program folders are blocking write accesses to some extent.
SikuliX MUST be in a folder that is fully accessible for write operations in the users current context.

RaiMan (raimund-hocke)
description: updated
Revision history for this message
Super Zhu (super-zyz) wrote :

@RaiMan
I have just downloaded "tessdata" stuff and then Text search was switched on now.

I want to find a file named "helloworld.txt" in a folder, and I use find("helloworld.txt") but

[error] FindFailed ( can not find helloworld.txt on the screen. )

and then I had tried to type "helloworld.txt" in a .txt file, and find("helloworld.txt") again, but it still
[error] FindFailed ( can not find helloworld.txt on the screen. )

So does the Text Search is OK with the latest version? Or I had used it in a wrong way?

If it works, could you give me a example or using scenario of Text search.

Thank you!

Revision history for this message
RaiMan (raimund-hocke) wrote :

when asking questions in comments, you should subscribe to the question to get notified.
I have done this for you this time.
But it is nearly always a better, to start your own question.

--- your question
The OCR and text search feature in Sikuli still is weak, especially with smaller fonts or text on not-plain backgrounds.
So before starting complex things with it, you should test, wether it works in your situation.

easy test:
print selectRegion().text()

you simply select a specific region containing the text (the file name) in your case and look what Sikuli reads.

If it works, the you have to find an approach with find(text), that works.
Restricting the region as small as possible is always a good idea in any case of finding something.

Revision history for this message
Super Zhu (super-zyz) wrote :

@RaiMan
Thank you for your quick response and kindly suggestion. I'll start my own question next time.

 I tried your solution and it didn't work well. Hope you can arrange the schedule and enhance this feature.
Thanks!

RaiMan (raimund-hocke)
summary: [1.0.1] tessdata folder not found after setup with option 5 ---
- workaround
+ workaround --- fixed with 1.1.0-Beta2
Changed in sikuli:
importance: High → Critical
Revision history for this message
vijayvyawhare (vyawharevijay) wrote :

Its working for as solution provide by Raiman to delete file inside libs folder and run sikuli-ide.jar .It ll create tessdata folder after that just copy that tessdata to default path.As per my linux machine i created SikulitTesseract folder inside .SikuliX folder and pasted tessdata folder it worked for me Thanks Raiman

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.