Leitura Cartão Mega Sena e/ou vestibular

Delphi

30/11/2006

Ola a Todos, Tenho +1 uma dúvida.

Estou fazendo um programa que leia uma imagem escaneada padrão e identifique o numero e a letra. Como um cartão da mega-sena ou uma prova de vestibular, que temos que colorir todo o quadrado para que seja feita a leitura.

Minha idéia é escanear a imagem, (salvar ela em formato jpg, ou bmp) e abrir ela no programa, e através de coordenadas o programa identifica qual a letra foi marcada da questão.

Ex:

1 - [b:cff83508d2]■[/b:cff83508d2] - b - c - d
2 - a - b - c - [b:cff83508d2]&9632;[/b:cff83508d2]

Questão 1 - resposta A
Questão 2 - resposta D

E assim por diante.


Vagner.oliveira

Vagner.oliveira

Curtidas 0

Respostas

Rinez

Rinez

30/11/2006

Também estou interessado neste tópico.
Vamos aguardar quem tenha sugestão para nos ajudar.
Prof. Zenir


GOSTEI 0
Vagner.oliveira

Vagner.oliveira

30/11/2006

Também estou interessado neste tópico. Vamos aguardar quem tenha sugestão para nos ajudar. Prof. Zenir


Em vez de esperarmos, poderíamos nos ajudar...

Estava pensando em como fazer com que o Delphi localize e identifique através de coordenadas as cores, para que possa ser feita a verificação.

Acho que ja é o primeiro passo. :lol:


GOSTEI 0
Vagner.oliveira

Vagner.oliveira

30/11/2006

:arrow: up


GOSTEI 0
Vagner.oliveira

Vagner.oliveira

30/11/2006

:arrow: up

Ninguem tem idéia de como iniciar este procedimento :?: :shock:


GOSTEI 0
Vagner.oliveira

Vagner.oliveira

30/11/2006

up :roll:


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

30/11/2006

Colega,

Sem querer jogar um balde de água fria no seu projeto, acredito que isso será ´bem complicado´ de se implementar. Atualmente, estou trabalhando num centro educacional que possui máquinas (leitoras) de correção) de provas que custaram em torno de R$ 30 mil cada uma. Mesmo com essas ´máquinas´, é necessário criar uma máscara para cada prova e fazer refinadas calibrações para funcionar 100¬.

Boa sorte!


GOSTEI 0
Vagner.oliveira

Vagner.oliveira

30/11/2006

Eu sei que exeste essas máquinas mesmo, e que custam bem caro :shock: ...

O que queria é pelo menos uma LUZ no fim do tunel, para que eu possa tentar começar algo, Aroldo você trabalha com essas máquinas, sabe como elas funcionam ?

Minha idéia é fazer com que o delphi lesse uma coordenada X,Y e verificasse se está com uma cor diferente. algo assim. pesquisei no forum mas não achei nada. Deve ser por isso que não tenho resposta a minha dúvida.

[b:d89f6be9c5][size=18:d89f6be9c5]Tem como o Delphi ler uma coordenada e a partir dae identificar a cor de uma imagem ?[/size:d89f6be9c5][/b:d89f6be9c5]


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

30/11/2006

Colega,

Estou aqui há alguns meses e não tnho domínio ainda sobre o assunto, mas pelo que meus colegas me disseram, ela funciona como um ´scanner´ mas gera arquivos .DAT do tipo texto contento os dados lidos, onde:

0 = Falso;
1 = Verdadeiro;
N = Nulo;
W = Branco;

Eu fiz um sistema para correção de provas que utiliza esses arquivos .DAT que funciona com base na comparação de um gabarito com as provas dos alunos (em Delphi), mas não é realizado nenhum tipo de tarefa com imagens.

Acredito que sua idéia seja de difícil implementação devido a velocidade que é necessário no ambiente de produção, bem como, o correto posicionamento do cartão será bem complicado.


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

30/11/2006

creio que deva seguir o mesmo princípio dos leitores biométricos: tanto facial, como leitor de íris ou de impressão digital. o princípio é o mesmo: é feita uma imagem pelo scanner e depois comparada com pontos de uma imagem previamente gravada.

no [url=http://sourceforge.net/search/?type_of_search=soft&words=biometric]sourceforge[/url] tem alguns exemplos que podem lhe ser úteis.


GOSTEI 0
Vagner.oliveira

Vagner.oliveira

30/11/2006

Dei uma olhada, mas não me ajudou muito, estou verificando a possibilidade de ler um BITMAP e identificar as cores...

Alguém tem alguma idéia


GOSTEI 0
Guilherme_wl

Guilherme_wl

30/11/2006

Aproveitando o tópico do amigo, estou trabalhando num programa de correção de provas via leitora de gabaritos, ele trabalha assim:

O software da leitora ler o gabarito e gera um arquivo.dat c/ uma matricula e as alternativas do candidato. Eu to abrindo esse arquivo e separando a matricula das alternativas, gravando ele no banco de dados e em seguida comparando com a resposta verdadeira e mostrando o resultado num ListView. O que eu to precisando é que esse programa pinte a matricula do candidato automaticamente. Exemplo: eu tenho uma query que apartir da data me diz as pessoas e as matriculas referentes a cada uma delas, eu quero gerar no Rave algo que pinte automaticamente a matricula da pessoa no gabarito, só que não sei como fazer isso no Rave, alguem pode me ajudar??


GOSTEI 0
Thiago Vidal

Thiago Vidal

30/11/2006

cara, esse assunto é bastante interessante.

na verdade, o processo é relativamente simples, se vc tiver conhecimentos de DSP (Processamento Digital de Sinais). o gabarito da prova, normalmente é vermelho, com marcas de guia pretas, justamente para a facilidade da interpretação do resultado.

vou resumir os processos aqui, as equações vc encontra em sites sobre DSP.

1- Remova o canal vermelho, deixando apenas as guias pretas, e as respostas na imagem.

2- Com conhecimento da resolução do scanner, e das margens até as guias, calcule a quantidade de pixels das guias, por ex:

vc sabe que as margens esquerda e direita são de 1 pol, que a margem inferior é de 2 pol e as respostas começam a partir de 5 pol do topo da página. a uma resolução de 100 pixels/pol, vc sabe que as guias estao em (100x500) até (largura-100, altura-100) pixels desconte aí uns 10¬ de erro.

3- utilizando a propriedade Canvas.Pixels do seu TBitmap, vc varre as margens superiores, procurando as guias das respostas (A, B, C, D, E) (pontos pretos) existem equações de DSP que dada uma matriz de pontos, ou um retangulo, te retorne o centro. aqui, voce guarda as coordenadas X, de cada resposta.

4- novamente utilizando Canvas.Pixels, vc varre as margens laterais, para encotrar as guias com os numeros das questoes. tendo as coordenadas Y de cada questão, vc cruza com as coordenadas X, de cada resposta obtidas acima, (considerando um erro), e procura por pixels pretos, e aí vc consegue descobrir a resposta assinalada.

---

desculpa se ficou muito complcado, mas é que o assunto é complicado mesmo, se vc não tiver com muita pressa pra isso, me manda um email, que eu vejo se consigo escrever algunas rotinas que te ajudem com isso, no final de semana.


GOSTEI 0
Vagner.oliveira

Vagner.oliveira

30/11/2006

Meu e-mail é: vagner_listas@yahoo.com.br

Se puder me dar um empurrão em frente a este desafio, agradeceria muito


GOSTEI 0
POSTAR