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
cd
into 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
setuptools
in it. Verify thatsetuptools
version is56.0.0
viapip show setuptools
. -
Tag the latest stable commit in
master
with 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.py
according to the state of the project's current Git tree. The second command invokes PyInstaller and builds a binary end-user executable in thedist
directory. -
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 thedocs
extras locally. -
Switch to the
docs
directory. -
Run
make html
ormake latex
(make.bat ...
on Windows) according to your target needs. The typical target ishtml
. The resulting pages will be in thedocs/build
directory. -
After making changes to documentation as needed, run
make <target>
to verify the results locally. If necessary during development, runmake clean
to 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.