是否可以使用像Tess4j或任何其他ORC这样的库在屏幕上找到文本的矩形位置?
我需要创建一个可以找到按钮并单击它的应用程序。
我无法在Tess4j文档下找到任何内容。
答案 0 :(得分:0)
首先,您需要找到图片中的所有单词。
instance.getWords(bufferedImage, ITessAPI.TessPageIteratorLevel.RIL_TEXTLINE)
我正在使用TessPageIteratorLevel.RIL_TEXTLINE
来获取每一行的字符串。您可以使用TessPageIteratorLevel.RIL_WORD
来获取标记化的字符串。
然后使用word.getBoundingBox();
获取单词的边界矩形。
public class DemoTess {
public static void main(String[] args) throws IOException {
ITesseract instance = new Tesseract();
instance.setLanguage("eng");
long start = System.currentTimeMillis();
BufferedImage bufferedImage = ImageIO.read(DemoTess.class.getResourceAsStream("/cv/menu_v1.png"));
for (Word word : instance.getWords(bufferedImage, ITessAPI.TessPageIteratorLevel.RIL_TEXTLINE)) {
if (word.getText().contains("Button Text")) {
Rectangle boundingBox = word.getBoundingBox();
System.out.println("boundingBox = " + boundingBox);
break;
}
}
System.out.println("time = " + (System.currentTimeMillis() - start));
}
}