diff --git a/algorithms/distance/rmsdiff.py b/algorithms/distance/rmsdiff.py new file mode 100644 index 0000000..c30a1a8 --- /dev/null +++ b/algorithms/distance/rmsdiff.py @@ -0,0 +1,14 @@ +from PIL import ImageChops +import math +import operator +import functools + +def rmsdiff(im1, im2): + "Calculate the root-mean-square difference between two images" + + h = ImageChops.difference(im1, im2).histogram() + + # calculate rms + return math.sqrt(functools.reduce(operator.add, + map(lambda h, i: h*(i**2), h, range(256)) + ) / (float(im1.size[0]) * im1.size[1]))