-
均方误差(Mean Square Error,MSE):均方误差是原始图像与降噪后图像像素值之间差的平方和的平均值。MSE越小,降噪效果越好。
-
峰值信噪比(Peak Signal-to-Noise Ratio,PSNR):峰值信噪比是原始图像与降噪后图像像素值之间差的平方和的平均值的倒数。PSNR越大,降噪效果越好。
-
结构相似度指数(Structural Similarity Index,SSIM):结构相似度指数是一种比较两幅图像相似度的指标,同时考虑了亮度、对比度和结构三个方面。SSIM越接近1,降噪效果越好。
-
信噪比(Signal-to-Noise Ratio,SNR)
-
感知质量指数(Perceptual Image Quality,PIQ)是一种主观图像质量评估方法,用于度量人类视觉系统对图像质量的感知。
import cv2 # from skimage.measure import compare_ssim from skimage.metrics import structural_similarity as ssim from skimage import io, measure # import numpy as np # # def PSNR(original, processed): # mse = np.mean((original - processed) ** 2) # print(mse) # if mse == 0: # return 100 # max_pixel = 255.0 # psnr = 20 * np.log10(max_pixel / np.sqrt(mse)) # return psnr original = cv2.imread(r'D:\YWJ\6_jiaoben_set\huang_file1025\图片\10_21_148.jpg') processed = cv2.imread(r'D:\YWJ\6_jiaoben_set\huang_file1025\317.jpg') # PSNR(original,processed) # print(PSNR(original,processed)) import numpy as np # 信噪比(Signal-to-Noise Ratio,SNR) 越高越好 def calculate_snr(original, processed): signal = np.mean(original) noise = np.mean(original - processed) snr = 20 * np.log10(signal / noise) return snr print('SNR: ',calculate_snr(original, processed)) # 峰值信噪比(Peak Signal-to-Noise Ratio,PSNR) 越高越好 30db以上可以 def PSNR(original, processed): mse = np.mean((original - processed) ** 2) print('mse',mse) if mse == 0: return 100 max_pixel = 255.0 psnr = 20 * np.log10(max_pixel / np.sqrt(mse)) return psnr print('PSNR: ',PSNR(original, processed)) # 结构相似度指数(Structural Similarity Index,SSIM) # 读取两幅图像 # img1 = cv2.imread('img1.jpg') # img2 = cv2.imread('img2.jpg') # 将图像转为灰度图像 gray_img1 = cv2.cvtColor(original, cv2.COLOR_BGR2GRAY) gray_img2 = cv2.cvtColor(processed, cv2.COLOR_BGR2GRAY) # 计算SSIM指数 越靠近1越好 ssim = ssim(gray_img1, gray_img2) print("SSIM: {:.2f}".format(ssim)) # from skimage import io, measure # 读取两张图像 # img1 = io.imread('image1.jpg', as_gray=True) # img2 = io.imread('image2.jpg', as_gray=True) # 计算结构相似度指数(SSIM) # ssim1 = ssim(original, processed, data_range=processed.max() - processed.min(), multichannel=True) # 计算感知质量指数(PIQ) 越低越好。 piq = 10 * (1 - ssim) print("PIQ: {:.2f}".format(piq))
图片质量评估指标:
最新推荐文章于 2024-07-10 08:41:33 发布