我正在尝试计算 MSE 以获得 PSNR 的输出
def mse(imageA, imageB):
err = np.sum((imageA.astype("float") - imageB.astype("float")) ** 2)
err /= float(imageA.shape[0] * imageA.shape[1])
return err
if __name__ == '__main__':
for i in range(1,7):
result=cv2.imread('./ct-result/tr' + str(i) + '.bmp')
recover = cv2.imread('./rs' + str(i) + '.bmp')
mse=mse(result,recover)
psnr=10*math.log10((255**2)/mse)
print(psnr)
我在使用 for 循环计算 1~6 张图片时遇到了一个奇怪的情况,它显示 'numpy.float64' 对象在 2~6 张图片上不可调用
但是,当我将 str(i) 更改为诸如 2,3 之类的数字时...它起作用了,我不知道发生了什么请帮助我
您可以从上面的图片中看到该控制台显示循环的第一个输出,而以下是遇到“numpy.float64”对象不可调用