All Projects → mtszkw → foosball

mtszkw / foosball

Licence: other
Analysis of table soccer games based on video recordings

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to foosball

pcan
Prototypical Cross-Attention Networks for Multiple Object Tracking and Segmentation, NeurIPS 2021 Spotlight
Stars: ✭ 294 (+1236.36%)
Mutual labels:  tracking
camera-calibration
This repository include implementation of calibrating intrinsic and extrinsic camera parameter for distance calculation
Stars: ✭ 19 (-13.64%)
Mutual labels:  calibration
Peanuts
Peanuts is a free and open source wifi tracking tool. Based on the SensePosts Snoopy-NG project that is now closed.
Stars: ✭ 34 (+54.55%)
Mutual labels:  tracking
ggtrack
restlessdata.com.au/ggtrack
Stars: ✭ 39 (+77.27%)
Mutual labels:  tracking
deep sort realtime
A really more real-time adaptation of deep sort
Stars: ✭ 31 (+40.91%)
Mutual labels:  tracking
libcalib
calibrate stereo cameras
Stars: ✭ 37 (+68.18%)
Mutual labels:  calibration
DJITelloOpticalControl
Autonomous navigation and data collection for Tello using mainly OpenCV's ArUco libraries.
Stars: ✭ 24 (+9.09%)
Mutual labels:  aruco
trex
TRex, a fast multi-animal tracking system with markerless identification, and 2D estimation of posture and visual fields.
Stars: ✭ 46 (+109.09%)
Mutual labels:  tracking
impression
👀Element view notifier
Stars: ✭ 77 (+250%)
Mutual labels:  tracking
pedx
Python tools for working with PedX dataset.
Stars: ✭ 26 (+18.18%)
Mutual labels:  tracking
tracking-location-provider-android
Tracking the android mobile and animating marker smoothly in Google Maps. Tracking has been done both in foreground and background. Tested in Android Oreo 8.1, Android 6.0 and Android 5.0
Stars: ✭ 37 (+68.18%)
Mutual labels:  tracking
pageviews
A simple and lightweight pageviews counter for your WordPress posts and pages.
Stars: ✭ 23 (+4.55%)
Mutual labels:  tracking
python-dts-calibration
A Python package to load raw Distributed Temperature Sensing (DTS) files, perform a calibration, and plot the result.
Stars: ✭ 21 (-4.55%)
Mutual labels:  calibration
AndroidMarkerARDemo
a simple demo of android marker ar with opencv
Stars: ✭ 17 (-22.73%)
Mutual labels:  calibration
VISO
[IEEE TGRS 2021] Detecting and Tracking Small and Dense Moving Objects in Satellite Videos: A Benchmark
Stars: ✭ 61 (+177.27%)
Mutual labels:  tracking
linear-discord-serverless
Get linear's events forwarded to Discord webhooks through Vercel serverless functions.
Stars: ✭ 47 (+113.64%)
Mutual labels:  tracking
jeelizPupillometry
Real-time pupillometry in the web browser using a 4K webcam video feed processed by this WebGL/Javascript library. 2 demo experiments are included.
Stars: ✭ 78 (+254.55%)
Mutual labels:  tracking
unbound-dns-firewall
DNS-Firewall Python script for UNBOUND
Stars: ✭ 23 (+4.55%)
Mutual labels:  tracking
pihole-antitelemetry
A research-based starter pihole list to improve your privacy
Stars: ✭ 286 (+1200%)
Mutual labels:  tracking
craft-webperf
Webperf helps you build & maintain high quality websites through Real User Measurement of your website's performance
Stars: ✭ 24 (+9.09%)
Mutual labels:  tracking

Foosball Build Status License: MIT

Foosball is an open-source application created by students for academic purposes. It allows to process and analyze video recordings of table soccer games and:

  • detect a table (using Aruco markers placed on table),
  • detect and track a ball,
  • detect red and blue players,
  • count score (based on ball motion and position)

You can watch this demonstration video (click here for original raw input video) too see how it works in practice. In section at the bottom of this page, you can also find a few screenshots from the video recording in different phases of processing.

Requirements

  • C++17 compiler
  • OpenCV == 3.4.1 (not tested on newer versions)
  • CMake >= 3.10.0 (not tested on newer versions)

Configuration

After you build the project using a build system of your choice, an executable binary file created requires JSON config file named configuration.json to work. Sample configuration can be seen in config_example.json file which contains all the options needed to run the application (see exaplanation in the table below). You use that file or copy it to create your own configuration with other values.

Parameter Short description
videoPath A path to game video file
videoSkipFramesStep If video FPS rate is too high, it is possible to skip `x` frames after each processed frame
arucoDictionaryPath A path to black and white bitmap images with aruco symbols
arucoDetectorConfigPath (optional) A path to YAML file with aruco detector parameters (see [OpenCV documentation](https://docs.opencv.org/3.4.1/d1/dcd/structcv_1_1aruco_1_1DetectorParameters.html))
calibPerformCalibration If true, camera calibration will be performed at the beginning
calibConfigPath TBD
calibInitConfigPath (optional) TBD
gameTableWidth Width of the output image with table
gameTableHeight Height of the output image with table

Screenshots

Source video frame

Undistorted video frame

Result video frame

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].