我是Python的新手

我必须实现一个可以计算2张图像之间的MAE的函数

这是我学到的MAE公式:python - 平均绝对错误-Python-LMLPHP

这是我的代码:

def calculateMAE(imageA, imageB):
    """
    Calculate MAE between 2 images
    np: numpy

    """
    mae = np.sum(imageB.astype("float") - imageA.astype("float"))
    mae /= float(imageA.shape[0] * imageA.shape[1] * 255)

    if (mae < 0):
        return mae * -1
    else:
        return mae

谁能告诉我我的功能是否正确?
提前致谢!

最佳答案

平均绝对错误中的绝对符号在总和的每个条目中,因此加总后就无法检查mae < 0-您需要将其放入总和中!

因此,您应该有类似

mae = np.sum(np.absolute((imageB.astype("float") - imageA.astype("float")))

其中np.absolute(matrix)按元素计算绝对值。

09-26 21:55