/project-river

Motion tracking of feature points and dense optical flow

Primary LanguageC++

project-river

Motion tracking of feature points and dense optical flow

Description

This project takes video and calculates/displays the Farneback dense optical flow and KLT point tracking frame by frame using ImGui, GLFW, OpenCV and OpenGL. Input parameters for both algorithms can be updated with sliders in the UI and the videos can be saved using a button.

The UI template is based in the following code: m516/CV-Sandbox

Requirements

  • Working C++ compiler (C++ 17 or greater)
  • CMake (version >= 2.8)
  • OpenCV (version >= 4.0.0)
  • OpenGL (version >= 3.0.0)
  • GLFW3

Future Works

  • Improve UI by allowing window resizing
  • Add more functionality to dense optical flow visualization

Operation

How to build

Linux or MacOS

  • Build project
    • create and navigate into a new directory in the cloned project directory: mkdir build && cd build
    • execute the following commands: cmake .. and make
  • Run executable
    • to run the executable, execute the following: ./execute
      • ex. command: ./execute

Libraries and Licenses

This work utilizes libraries whose licenses are as follows:

Name Installation instructions License Github Repository
OpenCV 3-clause BSD License yes
CV-Sandbox MIT License yes
GLFW Included in project (Official instructions) zlib license yes
ImGui Included in project (static library) MIT License yes