From 72e37a252aa59ac620d441548a3740f0ab8fdcfc Mon Sep 17 00:00:00 2001 From: Benjamin Loison Date: Fri, 22 Mar 2024 13:59:41 +0100 Subject: [PATCH] Add `algorithms/distance/rmsdiff.py` --- algorithms/distance/rmsdiff.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 algorithms/distance/rmsdiff.py 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]))