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.
  • All imagei should have the same dimensions.
  • ImageDisplacements accepts a MaxIterations option. By default, MaxIterations->10 is used.


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,


Wolfram Research (2016), ImageDisplacements, Wolfram Language function,


Wolfram Language. 2016. "ImageDisplacements." Wolfram Language & System Documentation Center. Wolfram Research.


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


@misc{reference.wolfram_2021_imagedisplacements, author="Wolfram Research", title="{ImageDisplacements}", year="2016", howpublished="\url{}", note=[Accessed: 16-January-2022 ]}


@online{reference.wolfram_2021_imagedisplacements, organization={Wolfram Research}, title={ImageDisplacements}, year={2016}, url={}, note=[Accessed: 16-January-2022 ]}