
做边缘检测 matlab代码如下
close all;
clear all;
clc;
img=imread('lena.jpg');
[h w]=size(img);
imgn=imresize(img,[floor(h/2) floor(w/2)]);
imgn=imresize(imgn,[h w]);
img=double(img);
imgn=double(imgn);
B=8; %编码一个像素用多少二进制位
MAX=2^B-1; %图像有多少灰度级
MES=sum(sum((img-imgn).^2))/(h*w); %均方差
PSNR=20*log10(MAX/sqrt(MES));
处理512*512的lena原图可以出来psnr,但处理用经典算法边缘检测的效果图就不能出结果,出现标题所示的错误