图像失真评估 您所在的位置:网站首页 图像均方误差与数据类型有关吗 图像失真评估

图像失真评估

2024-07-15 15:12| 来源: 网络整理| 查看: 265

图像失真评估---MSE和PSNR 原图像和处理图像之间的均方误差MSE峰值信噪比PSNR MSE和PSNR是图像评估的各种算法当中最基础的算法,是一种全参考评估算法,本文将通过python来实现其算法,虽然我还是更推荐使用matlab去完成该算法。

原图像和处理图像之间的均方误差MSE

什么是MSE呢?就是讲处理后的图像和处理前的图像灰度化以后点对点做差得平方,之后将所有点的差平方求和,最后将该和除以像素点数就可以得到均方误差MSE,MSE的值越大,则图像失真越严重,公式如下 M S E = ( ∑ i = 0 m ∑ j = 0 n ( I ( i , j ) − K ( i , j ) ) 2 ) m n MSE =\frac { (\sum_{i=0}^m\sum_{j=0}^n(I(i,j)-K(i,j))^2)} {mn} MSE=mn(∑i=0m​∑j=0n​(I(i,j)−K(i,j))2)​

问题不大,先上代码

import PySimpleGUI as sg from PIL import Image,ImageSequence import numpy as np picorg = Image.open(picorg_path)#打开图片 picref = Image.open(picref_path) picref=picref.resize((100,100))#缩小图像,减小运算负担,根据情况决定是否需要缩放 picorg=picorg.resize((100,100))#或者采用更为合理的缩放算法 picorg = picorg.convert("L")#转化为灰度图处理 picref = picref.convert("L") picorg_arr=np.array(picorg)#转化为数组用于计算 picref_arr = np.array(picref) #直接计算MSE MSE=sum(sum((picorg_arr-picref_arr)*(picorg_arr-picref_arr)))/(pic_row*pic_col) print(MSE) 峰值信噪比PSNR

PSNR的值越小,则图像失真情况越大,有了MSE就可以轻松的求出峰值信噪比的值了,公式如下 P S N R = 20 ∗ lg ⁡ ( M A X M S E ) PSNR=20 * \lg(\frac {MAX} {\sqrt MSE}) PSNR=20∗lg(M ​SEMAX​) 代码的话,求出MSE再求PSNR就很简单了

import math PSNR=20*math.log10(255/(MSE**0.5))


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有