Optical Flow with OpenCV
Jump to navigation
Jump to search
Optical Flow
Optical flow calculations on OpenSuse 15.2
Resources
- https://learnopencv.com/optical-flow-in-opencv/
- https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html
- https://github.com/spmallick/learnopencv.git
Install
To test python examples from the git repo directory learnopencv/Optical-Flow-in-OpenCV in a conda environment is easy
git clone https://github.com/spmallick/learnopencv.git cd learnopencv/Optical-Flow-in-OpenCV/ conda create -n optical-flow python=3.8 conda activate optical-flow pip install -r reqirements.txt
To run the c++ examples is a bit more involved. The Opensuse packages of opencv do not include all prerequisites and you get an error:
fatal error: opencv2/optflow.hpp: No such file or directory
To get rid of this, use a self compiled version of opencv with contrib part (needs up to 2GB RAM per (c)make core)
wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/master.zip unzip opencv.zip unzip opencv_contrib.zip mkdir -p build && cd build cmake -DPYTHON3_EXECUTABLE=/home/joachim/miniconda3/envs/Optical-Flow-in-OpenCV/bin/python -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-master/modules ../opencv-master cmake --build . --parallel 4 make install
Now compile the sample code
cd algorithms cmake . --parallel 4 make -j4
And finally execute it
./OpticalFlow ../videos/car.mp4 lucaskanade
Execute Examples
Just paste the example commands from the git repo readme, e.g.:
python3 demo.py --algorithm lucaskanade --video_path videos/car.mp4
This will show 2 windows, one with an example video and one with the flow information
For the c++ installation, this would be the equivalent command:
./OpticalFlow ../videos/car.mp4 lucaskanade