Skip to content
Subotto tracker
C++ Python JavaScript HTML C Makefile Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cpp Last effort to make something somewhat working. Feb 2, 2016
generator Use env shebang when possible. Jan 23, 2015
qt/Subtracker Changes for 2018. Feb 9, 2018
subotto Revert "Move C++ project to 'cpp' directory." Jan 12, 2015
svgviewer New URL. Feb 20, 2015
tests Revert "Move C++ project to 'cpp' directory." Jan 12, 2015
tracker Improve table tracking with optical flow. Feb 5, 2015
viewer Reset. Jan 24, 2017
web Produce output and rendering. Jan 23, 2017
.gitignore Ignore virtualenv folder. Jan 30, 2015
README.md Update README.md Feb 7, 2019
context.py Ottimizzato "compute ball density". Feb 12, 2015
control.py Implement camera undistortion. Jan 15, 2015
crash_2018.txt 2018 crash. Feb 9, 2018
create_test_files Revert "Move C++ project to 'cpp' directory." Jan 12, 2015
framereader.py Some smarter logging. Jan 13, 2015
max-experiments.py Undo previous commit. Feb 4, 2015
model.lyx Comment some variables referring to model.lyx Jan 24, 2015
monotonic_time.py Fix monotonic time on non-Linux platforms. Jan 12, 2015
opencv_cmake_line.txt Build with OpenCV 3.1. Nov 16, 2016
particlefilter.py Use env shebang when possible. Jan 23, 2015
spotsfinder.py
spotstracker.py Use env shebang when possible. Jan 23, 2015
standard_notations.txt Estimation of rod shift. Jan 24, 2015
subotto.html Revert "Move C++ project to 'cpp' directory." Jan 12, 2015
subtracker2015.py Fixed the problem with assest points. Jan 15, 2015
tablebg.py Ottimizzato "compute ball density". Feb 12, 2015
tablell.py Ottimizzato "compute ball density". Feb 12, 2015
tabletracker.py Ottimizzato "compute ball density". Feb 12, 2015
test_particlefilter.py Particle Filter implemented, + some test. Jan 17, 2015
test_spotstracker.py Use env shebang when possible. Jan 23, 2015
transformation.py Small changes in max-experiments.py and dependencies. Jan 30, 2015
watchdog.sh Revert "Move C++ project to 'cpp' directory." Jan 12, 2015

README.md

README (in Italian)

Istruzioni per utilizzare il Subtracker

Compilare

  • Servono (un po' di) questi pacchetti: qt5-default build-essential cmake qt5-qmake qtbase5-dev-tools libturbojpeg0-dev pkgconfig libboost-all-dev
  • Dare il comando mkdir my_opencv && cd my_opencv
  • Clonare i repo opencv e opencv-contrib
  • Creare la cartella mkdir opencv_install
  • Dare cd opencv && mkdir build && cd build
  • Usare il comando che c'è nel file di questo repo, opencv_cmake_line.txt
  • Dare make && make install
  • Esportare la variabile LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/my_opencv/opencv_install/lib.
  • Far conoscere a pkg-config il file opencv_install/lib/pkgconfig/opencv.pc (tipo copiandolo in /usr/share/pkgconfig)
  • Andare nella cartella qt/Subtracker e dare qmake (se si lamenta, dare export QT_SELECT=qt5)
  • Finalmente dare make
  • Clonare il repo streaming, installarne le dipendenze come scritto nel README e dare make

Usare

  • Collegare la webcam giusta via USB.
  • Utilizzare il programma streaming/v4l2_source.c per interfacciarsi con la webcam e scrivere frame in formato JPEG su standard output. Opzioni utili sono: -d DEVICE (per indicare la webcam), -a (si riavvia automaticamente ad ogni crash, per esempio se la webcam viene scollegata e ricollegata), -f (forza la risoluzione 640x480 e formato MPEG).
  • Mandare i frame in pipe a streaming/monitor_tee.py, il quale ascolta (e manda i frame) su una porta TCP (default 2204) e opzionalmente fa il dump sull'hard disk per l'archiviazione (serve tanta memoria, ordine dei 500 GB). L'archiviazione dei frame su disco è attivata/disattivata premendo il tasto r (crea un file da 1 GB ogni 3 minuti circa). Riassumendo, un comando ragionevole è ./v4l2_source -d /dev/video0 -a -f | ./monitor_tee.py 640 480. Opzioni utili di monitor_tee.py sono: -p PORT (per indicare la porta), -d DIRECTORY (cartella per l'archiviazione).
  • Eseguire Subtracker (che si connette a localhost sulla porta 2204).
  • Redirigere l'output di Subtracker a web/insert.py per inserire i dati nel database (controllare di avere più di 1 GB libero). Comando completo: ./Subtracker | (cd ~/subtracker/web/; ./insert.py)
  • TODO: servizio che rende disponibili i dati ai client HTTP.
You can’t perform that action at this time.