Question #240746 on Sikuli changed:
https://answers.launchpad.net/sikuli/+question/240746

Eugene S proposed the following answer:
Hi,

Text recognition is not always accurate. It is a known issue.
However, if it's just short number strings, I have found that creating a kind 
of "translation table" can be very useful in some cases.

First of all, as RaiMan suggested here, try to enclose the text in a region 
(that will include that text only).
Then run a couple of tests and see if your results are consistent. Probably you 
will notice that some numbers are recognized incorrectly. Common mistakes might 
look like:

recognizing "U" instead of "0"
recognizing "?" instead of "7"

or more bizarre cases, like:
recognizing "CI" instead of "0"
recognizing "C|" instead of "0"
recognizing "EI" instead of "0"

or even:
recognizing "l3" instead of "0"

and:
recognizing "Ei" instead of "6"


So if you find such common pairs, you can create some post-processing rules. 
So, for example,  if you have your recognized text saved under "text" variable, 
you can do something like that:

text = text.replace('CI', '0')
text = text.replace('Ei', '6')


It can make all the difference you need as long as those recognition mistakes 
are consistent.


Eugene

-- 
You received this question notification because you are a member of
Sikuli Drivers, which is an answer contact for Sikuli.

_______________________________________________
Mailing list: https://launchpad.net/~sikuli-driver
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~sikuli-driver
More help   : https://help.launchpad.net/ListHelp

Reply via email to