我在用matlab编程计算图像峰值信噪比和均方差值得程序运行后 没有得到相关的计算结果 怎么回事
系统提示说:???Undefinedfunctionormethod'psnr'forinputargumentsoftype'uint8'.我的程序段如下:I=imre...
系统提示说:??? Undefined function or method 'psnr' for input arguments of type 'uint8'.
我的程序段如下:
I = imread('e:\12.jpg');
I1 = imnoise(I, 'salt & pepper');
figure;
subplot(1, 2, 1); imshow(I); title('原图像');
subplot(1, 2, 2); imshow(I1); title('加噪声图像');
[PSNR, MSE] = psnr(I, I1)
% 图像峰值信噪比PSNR、均方根误差MSE
function [PSNR, MSE] = psnr(X, Y)
% 计算峰值信噪比PSNR、均方根误差MSE
% 如果输入Y为空,则视为X与其本身来计算PSNR、MSE
if nargin<2
D = X;
else
if any(size(X)~=size(Y))
error('The input size is not equal to each other!');
end
D = X-Y;
end
MSE = sum(D(:).*D(:))/prod(size(X));
PSNR = 10*log10(255^2/MSE);
clc
请大家帮帮忙 急 啊!!!谢谢 展开
我的程序段如下:
I = imread('e:\12.jpg');
I1 = imnoise(I, 'salt & pepper');
figure;
subplot(1, 2, 1); imshow(I); title('原图像');
subplot(1, 2, 2); imshow(I1); title('加噪声图像');
[PSNR, MSE] = psnr(I, I1)
% 图像峰值信噪比PSNR、均方根误差MSE
function [PSNR, MSE] = psnr(X, Y)
% 计算峰值信噪比PSNR、均方根误差MSE
% 如果输入Y为空,则视为X与其本身来计算PSNR、MSE
if nargin<2
D = X;
else
if any(size(X)~=size(Y))
error('The input size is not equal to each other!');
end
D = X-Y;
end
MSE = sum(D(:).*D(:))/prod(size(X));
PSNR = 10*log10(255^2/MSE);
clc
请大家帮帮忙 急 啊!!!谢谢 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询