Algoritmo para extrair informações de um vídeo e enviá-las por protocolo OSC a um servidor
- Python - version 2.7
- pyOSC - version 0.3.6.post6832
- Opencv - version 3.1.0
Geralmente, as distribuições do Ubuntu já vem com o Python instalado. Para verificar se o Python já está instalado na sua máquina, use o comando $ python2 --version
no seu terminal. Caso esteja instalado, retornará uma saída com a versão do Python2.
Se retornar outros valores, tente instalar pelos seguintes comandos, no terminal:
$ sudo apt-get update
$ sudo apt-get install python2
https://github.com/ptone/pyosc
Para instalar o Opencv no Ubuntu, basta executar o seguinte comando no terminal:
$ sudo apt-get install python-opencv
Após o término da instalação, digite:
$ python2
Para executar o Python e execute os seguintes comandos:
>>> import cv2 as cv
>>> print(cv.__version__)
Se o comando retornar a versão do Opencv, parabéns! O Opencv foi instalado corretamente.
Caso não, tente...
- Verificar a versão do Python instalado;
- Reinstalar o Opencv;
- Buscar informações no site oficial do Opencv: https://docs.opencv.org/3.4.1/d6/d00/tutorial_py_root.html
Para este projeto foi utilizado o método Lucas-Kanade, um método diferencial para estimar fluxos ópticos. Utilizamos o algoritmo presente no Opencv.
O protocolo OSC é utilizado para envio das informações extraídas do vídeo. Utilizamos 3 tipos de mensagens:
- "/config":
- Height: Altura de cada frame;
- Width: Largura de cada frame;
- Span: Distância entre cada ponto de análise do Lucas-Kanade;
- MinThreshold: Limite mínimo de intensidade para envio;
- MaxThreshold: Limite máximo de intensidade para envio;
- "/payload":
- Vetor com informações dos movimentos detectados em cada frame.
- Coordenada X, coordenada Y, intensidade e angulo de cada ponto que detectou movimento significativo.
- "/quit":
- Mensagem de finalização de análise para o servidor.
- Rael Gimenes Toffolo
- Natália Vieira
This project extends GNU GPL v. 3, so be aware of that, regarding copying, modifying and (re)destributing.