资源简介
使用matlab,计算目标图片与图片的相似性度量,包括:PSNR和SSIM值,简单好用。
代码片段和文件信息
function [PSNR MSE] = psnr(X Y)
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% 计算峰值信噪比PSNR
% 将RGB转成YCbCr格式进行计算
% 如果直接计算会比转后计算值要小2dB左右(当然是个别测试)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%
if size(X3)~=1 %判断图像时不是彩色图,如果是,结果为3,否则为1
org=rgb2ycbcr(X);
test=rgb2ycbcr(Y);
Y1=org(::1);
Y2=test(::1);
Y1=double(Y1); %计算平方时候需要转成double类型,否则uchar类型会丢失数据
Y2=double(Y2);
else %灰度图像,不用转换
Y1=double(X);
Y2=double(Y);
end
if nargin<2
D = Y1;
else
if any(size(Y1)~=size(Y2))
error(‘The input size is not equal to each other!‘);
end
D = Y1 - Y2;
end
MSE = sum(D(:).*D(:)) / numel(Y1);
PSNR = 10*log10(255^2 / MSE);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 764 2015-08-28 15:47 PSNR和SSIM—matlab\psnr.m
文件 7325 2015-08-28 16:32 PSNR和SSIM—matlab\ssim.m
文件 22 2015-08-28 16:34 PSNR和SSIM—matlab\程序说明.txt
目录 0 2015-08-28 16:37 PSNR和SSIM—matlab
----------- --------- ---------- ----- ----
8111 4
- 上一篇:博弈对策matlab
- 下一篇:空间直角坐标转换为站心坐标matlab代码
评论
共有 条评论