我的图像被随机脉冲噪声破坏了。我使用标准中值滤波器进行过滤并获得滤波图像。我有原始和过滤的图像。现在我想计算图像的PSNR。我尝试如下,但得到错误图像。请看看,告诉我我做错了什么?
ip1=imread(a,'bmp');
I = im2double(ip1);
p = 0.1;
Ir = (I + p*rand(size(I)))/(1+p);
I1=im2uint8(Ir);
ip=medfilt2(I1);
imshow(ip);
[peaksnr, snr] = psnr(ip, ip1);
它提供过滤后的图像,但在计算PSNR时有错误
错误:> ???未定义的功能或方法' psnr'输入参数类型' uint8'。
错误==> [peaksnr,snr] = psnr(ip,ip1);
我做错了什么?