是否可以使用 Tess4j 或任何其他 ORC 等库来查找屏幕上文本的矩形位置?
我需要制作一个可以找到按钮并单击它的应用程序。
我在 Tess4j 文档下找不到任何内容。
最佳答案
首先,你需要找到图片中的所有单词。
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));
}
}
关于java - Tess4j 查找屏幕上的文本位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36794588/