gives estimated horizontal and vertical displacements between consecutive images.


uses flow as an initial estimate for displacement between image1 and image2.

Details and Options

  • ImageDisplacements, also known as dense optical flow, compares consecutive images imagei and imagei+1 and returns a matrix of displacements {δx,δy} for every pixel of imagei.
  • ImageDisplacements works with an AnimatedImage or a sequence of images of the same dimensions.
  • The following options are supported:
  • MaxIterations10number of iterations to run
    MethodAutomaticthe method to use
    PerformanceGoal$PerformanceGoalaspects of performance to try to optimize
  • By default, the more suitable method is used. Possible method settings are "Farneback" and "DenseInverseSearch".


open allclose all

Basic Examples  (2)

Compute the displacement between two images:

Plot the displacements:

Compute the displacements between consecutive images of a list:

Applications  (1)

Detect rotating objects in a wind farm:

Extract the rotation component of the flow by computing its curl:

Colorize the rotation map and superimpose it on top of the original image:

Interactive Examples  (1)

Slow motion video effect:

Compute the optical flow:

Construct the interpolated frames and insert them into the final sequence:

Wolfram Research (2016), ImageDisplacements, Wolfram Language function, (updated 2022).


Wolfram Research (2016), ImageDisplacements, Wolfram Language function, (updated 2022).


Wolfram Language. 2016. "ImageDisplacements." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022.


Wolfram Language. (2016). ImageDisplacements. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2024_imagedisplacements, author="Wolfram Research", title="{ImageDisplacements}", year="2022", howpublished="\url{}", note=[Accessed: 15-June-2024 ]}


@online{reference.wolfram_2024_imagedisplacements, organization={Wolfram Research}, title={ImageDisplacements}, year={2022}, url={}, note=[Accessed: 15-June-2024 ]}