Video processing for seeing through water. This project implements algorithms that reduce distortions in a video caused by a wavy water surface.
Two simple examples are given below (sample video frame on the left, followed by results from two different algorithms):
Example data from Carnegie Mellon University.
The algorithms are based on two different iterative non-rigid registration methods:
- Oreifej et al. 2011: A Two-Stage Reconstruction Approach for Seeing Through Water
- Halder et al. 2014: High accuracy image restoration method for seeing through water
However, instead of using non-rigid registration we dewarp images by calculating pixel shift maps using optical flow.
Developed by Team Fluidy, Aalto University 2016.
- numpy
- OpenCV
- Robust PCA implementation by Kyle Kastner
NOTE: Only Python 2.7 and OpenCV 2.4.13 are supported due to API changes in OpenCV 3.