Author's blog is here
VideoF2B is an open-source desktop application for tracing F2B Control Line Stunt competition flight figures in video.
Use this application to trace the path of a control line aircraft as it performs aerobatic maneuvers in F2B competition and compare it to regulation figures.
Authors: Alberto Solera, Andrey Vasilik
Online documentation is here.
-
Detects the movement of the aircraft and draw the trace of its centroid in video.
-
Draws an augmented-reality (AR) hemisphere that represents the flight envelope.
-
Displays template figures on the surface of the AR sphere according to Section 4.2.15 - "Description of Manoeuvres" of the FAI Sporting Code (Edition 2024). Manoeuvre diagrams are available in Annex 4J (Edition 2024) The latest versions of these regulations are available at the FAI Sporting Code page under Section 4 (Aeromodelling).
-
Allows the user to rotate and translate the AR sphere during video processing.
-
Includes a utility to perform camera calibration. This enables display of the AR sphere in videos.
-
Includes a utility to estimate the best camera placement in the field.
-
Process live video in real time.
-
Project the detected points into the virtual sphere in engineering units to track the aircraft in 3D.
-
Perform the best possible fit of executed figures to the nominal figures.
-
Determine a score per figure.
-
Create a virtual environment.
-
Clone the project from this repository and
cdinto the root directory. -
Run
pip install -e .in the virtual environment. This installs the required packages for development work, testing, and building of releases.
- Build OpenCV for the virtual environment based on the instructions here.
-
IMPORTANT: Create a clean virtual environment. Do not update
setuptoolsin it. Verify thatsetuptoolsversion is56.0.0viapip show setuptools. -
Tag the latest stable commit in
masterwith the desired version using a scheme that complies with PEP 440. -
Switch to the project's root directory.
-
Enter the project's virtual environment.
-
Run the following commands:
pip install -e .
python setup.py build_exe-
The first command installs the latest version of the project locally and updates the version file
videof2b/version.pyaccording to the state of the project's current Git tree. The second command invokes PyInstaller and builds a binary end-user executable in thedistdirectory. -
Test the executable on target platforms.
-
Publish the release to the world.
-
Switch to the project's root directory.
-
Enter the project's virtual environment.
-
Run
pip install -e .[docs]. This installs the latest version of the project and thedocsextras locally. -
Switch to the
docsdirectory. -
Run
make htmlormake latex(make.bat ...on Windows) according to your target needs. The typical target ishtml. The resulting pages will be in thedocs/builddirectory. -
After making changes to documentation as needed, run
make <target>to verify the results locally. If necessary during development, runmake cleanto wipe the generated documentation files. -
This project's documentation is hosted on Read the Docs. When ready to publish, just push the changes to the main remote Git repository. Every push to the main repository triggers a new build of documentation on RTD. The build typically takes just a few minutes. Verify that the documentation build passes (see the "docs" badge at the top of this README). Verify that the online documentation reflects your changes.
See setup.cfg.
IMPORTANT: at this time the imutils package used for development is a modified fork of the official package.