Computes a dense optical flow using the Gunnar Farneback’s algorithm.

```
farneback(image1, image2, pyr_scale = 0.5, levels = 3, winsize = 43,
iterations = 3, poly_n = 7, poly_sigma = 1.5)
```

## Arguments

image1 |
An `Image` object. |

image2 |
An `Image` object. |

pyr_scale |
Parameter, specifying the image scale (<1) to build pyramids
for each image; pyr_scale = 0.5 means a classical pyramid, where each next
layer is twice smaller than the previous one. |

levels |
Number of pyramid layers including the initial image; levels = 1
means that no extra layers are created and only the original images are used. |

winsize |
Averaging window size; larger values increase the algorithm
robustness to image noise and give more chances for fast motion detection,
but yield more blurred motion field. |

iterations |
Number of iterations the algorithm does at each pyramid level. |

poly_n |
Size of the pixel neighborhood used to find polynomial expansion
in each pixel; larger values mean that the image will be approximated with
smoother surfaces, yielding more robust algorithm and more blurred motion
field, typically poly_n = 5 or 7. |

poly_sigma |
Standard deviation of the Gaussian that is used to smooth
derivatives used as a basis for the polynomial expansion; for poly_n = 5, you
can set poly_sigma = 1.1, for poly_n = 7, a good value would be poly_sigma = 1.5. |

## Value

A matrix with the same number of rows and columns as the original
images, and two layers representing the x and y components of the optical
flow for each pixel of the image.

## References

Farnebäck G. Two-Frame Motion Estimation Based on Polynomial
Expansion. In: Bigun J, Gustavsson T, editors. Image Analysis. Springer
Berlin Heidelberg; 2003. pp. 363–370. doi:10.1007/3-540-45103-X_50

## See also

## Author

Simon Garnier, garnier@njit.edu

## Examples