"""Peak signal-to-noise ratio - PSNR - https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratioSoruce: https://tutorials.techonical.com/how-to-calculate-psnr-value-of-two-images-using-python/"""import mathimport osimport cv2import numpy as npdef psnr(original, contrast):mse = np.mean((original - contrast) ** 2)if mse == 0:return 100PIXEL_MAX = 255.0PSNR = 20 * math.log10(PIXEL_MAX / math.sqrt(mse))return PSNRdef main():dir_path = os.path.dirname(os.path.realpath(__file__))# Loading images (original image and compressed image)original = cv2.imread(os.path.join(dir_path, 'original_image.png'))contrast = cv2.imread(os.path.join(dir_path, 'compressed_image.png'), 1)original2 = cv2.imread(os.path.join(dir_path, 'PSNR-example-base.png'))contrast2 = cv2.imread(os.path.join(dir_path, 'PSNR-example-comp-10.jpg'), 1)# Value expected: 29.73dBprint("-- First Test --")print(f"PSNR value is {psnr(original, contrast)} dB")# # Value expected: 31.53dB (Wikipedia Example)print("\n-- Second Test --")print(f"PSNR value is {psnr(original2, contrast2)} dB")if __name__ == '__main__':main()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。