Насколько я помню, чтобы хорошо распознавался текст, нужно подключить Tesseract
https://sikulix-2014...html#textandocr
И переключиться на русский:
tr.setLanguage("rus")
tr.getAPI().doOCR(arg0);
Нашел у себя пример работы, но у меня не через регион и по старому (выше по ссылке приведён пример как использовать по новому), попробуйте добавить себе такие настройки:
import org.sikuli.basics.Settings;
static Screen s = new Screen();
public static String findText(String path, float simil) throws FindFailed {
String ft = "";
initOcr("rus");
Match m = s.find(new Pattern(path).similar(simil)); // тут я искал вообще-то в два этапа, сначала большой паттерн для области где ищется текст, потом в нём маленький паттерн для самого текста
ft = m.text();
stopOcr();
return ft;
}
public static void initOcr(String lang) {
Settings.OcrDataPath = System.getProperty("user.dir") + "\\sikulixtessdata";
Settings.OcrTextSearch = true;
Settings.OcrTextRead = true;
Settings.OcrLanguage = lang;
TextRecognizer.reset();
}
public static void stopOcr() {
Settings.OcrTextSearch = false;
Settings.OcrTextRead = false;
}