In version prior to 12.3 the ImageDisplacement
function would automatically list over consecutive images to compute the flows. In version12.3 the ImageDisplacement
function returns the result for only the last two images in the list. Basically it returns a matrix of 0s for all the other comparisons (except for the last two images).
Please check the image below for an example that is posted in the documentation (top-half) and what the function is actually returning upon execution (bottom-half).
I provide a workaround here. We need to either partition the images (see the image below) or use Image/@Rescale/@First@Transpose@BlockMap[ImageDisplacements,list,2,1]
for the function to work appropriately.
Note that despite the images are the same the final results are still somewhat different than reported in the earlier versions.