Exite um meio de ler um texto de um programa na tela do desktop?

5 respostas
rodrigofsantos

Salve lista, senhores e possível através do java eu fazer um aplicação que leia uma determinada are do desktop e me retorne o texto ! eu já vi isso feito em C# tem um programa que o mouse e como uma câmera ou você pode terminar uma área do desktop e o programa fica monitorando aquela are quando e executado um programa que chega ate a area determinada e apare um determinado texto ele dispara um email !!

Teria como fazer isso qual tecnologia usar ?
tem como ser feito no java ?
Alguem

5 Respostas

K

Depende que tipo de informação você quer ler, de que tipo de aplicação ela vem, etc.

Por exemplo, aplicativos Win32 você pode ler o texto diretamente usando a API do Windows (exceto componentes owner-drawn). Dai você pode fazer isso em qualquer coisa que suporte chamar a API Win32, desde AutoHotkey, até C#, C++, Python, Java, Delphi, etc.

Já se é de uma imagem, de um feed de camera, ou de um programa que não atenda o que citei acima, da para usar técnicas de OCR. Vai depender de como é o texto também, por exemplo se o fundo varia muito, se o texto está claro, etc. Mas um jeito é com Python e OpenCV com Tesseract.

Sim.

rodrigofsantos

entendi , poxa foi muito esclarecedor principalmente para min que nao tinha ideia de como ler dados de uma tela !

Achei um material muito bom sobre o tesseract mas e de 2013 sera que existe algo mais atual pois no material que estou vendo tenho que instalar um programa no windows mas eu queria usar no linux tambem !!!

K

Ai nesse tutorial cobre tudo:

Cobre até coisa demais dependendo do que você quer fazer. Por exemplo, se tu já sabe a posição do texto na tela, não precisa fazer detecção de texto na image, só usar um ROI fixo. Ali só não cobre tirar screenshot da tela.

Screenshot da tela:

rodrigofsantos

bom de qualquer forma precisa usar o Tesseract !

rodrigofsantos

estou vendo no maven que ele tem varias opções de api, no meu caso vou tirar um Screenshots da tela e depois ler ela qual seria a melhor opção ?

Criado 26 de fevereiro de 2019
Ultima resposta 27 de fev. de 2019
Respostas 5
Participantes 2