对于彩色图像,PSNR的计算

close all;
clear all;
clc;
%PSNR的计算
old=imread('carrier.bmp');
%old=rgb2gray(old);
new=imread('compute.bmp');
%new=rgb2gray(new);
[h,w]=size(old);
img=double(old);
imgn=double(new);

B=8;                %编码一个像素用多少二进制位
MAX=2.^B-1;          %图像有多少灰度级
MES=sum(sum((img-imgn).^2))/(h*w);     %均方差
averageMES=sum(MES(:))/3;
PSNR=20*log10(MAX/sqrt(averageMES));           %峰值信噪比

你可能感兴趣的:(项目)