quarta-feira, 27 de novembro de 2013

Correção de Gabarito Com Python + SimpleCV

Bom dia Pessoal, Em Pedido ao Nosso Amigo, Rodolpho Macedo dos Santos Comecei um pequeno e 'Simples' algoritmo pra correção de um gabarito, devido a problemas pessoais, não tenho Tempo pra termina-lo, mais espero que ajude, a base já está Pronta e Funcionando, para fazerr mais rápido improvisei e em vez de corrigir a questão e coloquei apenas para capturar as questões da 1º Coluna,

Segue o Exemplo:


from SimpleCV import *
import time

img = Image('imagens/gabarito-corpo.jpg')

A,B,C,D,E=0,0,0,0,0

'''
A = x > 180 and x < 205

'''


mod = img.colorDistance(Color.WHITE)
blobs = img.findBlobsFromMask(mod,minsize=50)
if  blobs:
    blobs.draw(color=Color.RED,width=-1)


#mod.drawText("x",x=205,y=1,Color.BLUE)
'''mude as coordenadas do x para saber as posicoes
   de B, C , D e assim Consequentemente, observe que a 1 Coluna ja Esta Pronta '''

for i in blobs:
    if i.coordinates()[0] > 180 and i.coordinates()[0] < 205:
        A+=1

img.drawText("Na Primeira Coluna:",x=5,y=6,fontsize=22)
img.drawText("%i Questoes Marcadas!" % (A),x=5,y=26,fontsize=22)


img = img.applyLayers()

img.show()


time.sleep(50)




A Imagem do Gabarito Usada:



O Resultado:






3 comentários:

  1. Olá, tudo bem ?
    Eu preciso fazer o mesmo, para um gabarito que tem 90 questões, tipo prova do enem, o que eu preciso mudar nesse algoritimo para indetificar ?
    Obrigado pelo exemplo.

    ResponderExcluir
    Respostas
    1. Da uma olhada, vê se pode te ajudar: https://github.com/mpgxc/gabaritoChecker/blob/master/src/main.ipynb

      Excluir
  2. Este comentário foi removido pelo autor.

    ResponderExcluir