segue o código:
from SimpleCV import * __autor__='Rodrigo gomes' def check_movimento(x = 0,y = 0,t=1): direcao = "" direcaoX= "" direcaoY = "" if x > t: direcaoX= "Direita" if x < -1*t: direcaoX= "Esquerda" if y < -1*t: direcaoY = "Cima" if y > t: direcaoY = "Baixo" direcao = direcaoX+ " " + direcaoY if direcao is not "": return direcao else: return "Sem Movimento" def main(): d = Display((640,480)) cam = Camera() anterior = cam.getImage().flipHorizontal().scale(0.3) time.sleep(0.5) t = 0.5 buffer = 20 count = 0 while d.isNotDone(): atual = cam.getImage().flipHorizontal() atual = atual.scale(0.3) if( count < buffer ): count = count + 1 else: fs = atual.findMotion(anterior, window=15, method="HS") lengthOfFs = len(fs) if fs: fs.draw(color=Color.GREEN) dx = 0 dy = 0 for f in fs: dx = dx + f.dx dy = dy + f.dy dx = (dx / lengthOfFs) dy = (dy / lengthOfFs) motionStr = check_movimento(dx,dy,t) atual.drawText(motionStr,10,10,fontsize=20) anterior = atual time.sleep(0.01) atual.save(d) if __name__ == '__main__': main()
demo no vídeo:
Olá Rodrigo, tudo beleza?
ResponderExcluirCara achei esse seu trabalho interessante. Gostaria de saber se tem possibilidade de adaptar esse algoritmo para reconhecer pessoas trafegando por um determinado ambiente?
Saudaçõe!