Olá boa tarde!Sou novo por aqui e estou precisando de ajuda com o meu pré-projeto de TCC.
Bom a idéia e a seguinte: Fazer um sistema de correção de cartão resposta de vestibular, que lê os dados do cartão através de um scanner(imagem escaneada).E salve num arquivo de texto .txt, a minha maior dificuldade é como vou extrair os dados( as respostas marcadas) da imagem que foi escaneada.Se alguém tiver alguma idéia, apostila ou exemplo de código pra me ajudar ficaria muito grato.E assim que defender meu TCC postarei os códigos aqui pra quem quiser estudar ou precisar de alguma classe dele.
Obrigado!
Processamento de Imagens usando a API JAI
4 Respostas
Para isso não basta só o java 2d?
Geralmente os cartões tem um tamanho padrão, o candidato é obrigado a pintar o círculo inteiro. Portanto, não deve ser muito difícil usar um algoritmo para testar cores do pixel no lugar dos círculos do cartão resposta.
Boa tarde ViniGodoy, obrigado por ajudar…
A API JAI do java é 2D mesmo meu brodi, o problema mesmo é o algorítimo para extrair as marcações feitas pelo candidato entende?A manipulação da imagem, como: escala de cinza, limiar, bordas, e binarização já esta pronta.Estou me formando no fim do ano e ainda não vimos todo o conteúdo de Java, estou pesquisando por conta própria pra adiantar.
Obrigado pela colaboração.
Não, existe uma API chamada Java2D, do próprio Java, que também tem classes para manipulação de imagens.
A JAI é outra API, que à princípio cobre as deficiências da Java2D.
Não entendi qual é a dificuldade. Se vc tem a imagem do gabarito preenchido pelo candidato completa, se vc sabe de antemão o tamanho dos circulos de resposta, quantos circulos são, e os valores que representam, não basta simplesmente calcular o percentual de cores escuras na região?
Bom a dificuldade é essa mesma meu amigo!!Tenho sim o gabarito original e o que foi escaneado, só não consigo montar o código para extrair qual foi a resposta marcada pelo candidato.Estou boiando nessa parte, até por um pouco de inexperiência pois como te disse ainda não vi tudo de java.Já tentei achar um tutorial de como é feito isso nas lotéricas, e outras como a LC2000, mais tá meio complicado de entender.Espero que me ajudem…obrigado.