cv.EMD - MATLAB File Help
cv.EMD

Computes the "minimal work" distance between two weighted point configurations

d = cv.EMD(signature1, signature2)
d = cv.EMD(signature1, signature2, 'OptionName', optionValue, ...)
[d, lowerBound, flow] = cv.EMD(...)

Input

Output

Options

The function computes the earth mover distance and/or a lower boundary of the distance between the two weighted point configurations. One of the applications described in [RubnerSept98], [Rubner2000] is multi-dimensional histogram comparison for image retrieval. EMD is a transportation problem that is solved using some modification of a simplex algorithm, thus the complexity is exponential in the worst case, though, on average it is much faster. In the case of a real metric the lower boundary can be calculated even faster (using linear-time algorithm) and it can be used to determine roughly whether the two signatures are far enough so that they cannot relate to the same object.

References

[RubnerSept98]:

Yossi Rubner, Carlo Tomasi, and Leonidas J Guibas. "The earth mover's distance as a metric for image retrieval". 1998.

[Rubner2000]:

Yossi Rubner, Carlo Tomasi, and Leonidas J Guibas. "The earth mover's distance as a metric for image retrieval". International Journal of Computer Vision, 40(2):99-121, 2000.

See also