该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
clc
clear
W=imread('e:\matlab\aaa\1.jpg');
imshow (W);
I = rgb2gray(W); % 灰度处理
imshow (I);
title('灰度图像');
J=imnoise(I,'salt & pepper',0.2); %椒盐噪声
figure
imshow (J) ;
title('椒盐噪声');
Q=imnoise(I,'gaussian',0,0.01); %高斯噪声
figure
imshow (Q);
title('高斯噪声');
E=imnoise(I,'speckle',0.2);
figure
imshow(E);
title('斑点噪声'); %斑点噪声
K1= medfilt2(J);
figure %中值滤波椒盐
imshow (K1)
title('中值滤波椒盐');
K2= medfilt2(Q); %中值滤波高斯
figure
imshow (K2)
title('中值滤波高斯');
K3= medfilt2(E); %中值滤波斑点
figure
imshow (K3)
title('中值滤波斑点');
F=double(J); %平均值滤波椒盐
[m,n]=size(F);
for i=2:m-1;
for j=2:n-1;
g1(i,j)=F(i-1,j-1)+F(i,j-1)+F(i+1,j-1)+F(i-1,j)+F(i,j)+F(i+1,j)+F(i-1,j+1)+F(i,j+1)+F(i+1,j+1);
h2(i,j)=g1(i,j)./9;
end
end
F=uint8(h2) ;
figure,
imshow (F)
title('平均值滤波椒盐');
D=double(Q); %平均值滤波高斯
[m,n]=size(D);
for i=2:m-1;
for j=2:n-1;
g(i,j)=D(i-1,j-1)+D(i,j-1)+D(i+1,j-1)+D(i-1,j)+D(i,j)+D(i+1,j)+D(i-1,j+1)+D(i,j+1)+D(i+1,j+1);
h1(i,j)=g(i,j)./9;
end
end
D=uint8(h1);
figure
imshow(D);
title('平均值滤波高斯');
Y=double(E); %平均值滤波斑点
[m,n]=size(Y);
for i=2:m-1;
for j=2:n-1;
g1(i,j)=Y(i-1,j-1)+Y(i,j-1)+Y(i+1,j-1)+Y(i-1,j)+Y(i,j)+Y(i+1,j)+Y(i-1,j+1)+Y(i,j+1)+Y(i+1,j+1);
h(i,j)=g1(i,j)./9;
end
end
Y=uint8(h) ;
figure,
imshow (Y)
title('平均值滤波斑点');
Z=wiener2(J,[5,5]); %维纳滤波椒盐
figure,
imshow (Z)
title('维纳滤波椒盐');
G=wiener2(Q,[5,5]); %维纳滤波高斯
figure
imshow (G)
title('维纳滤波高斯');
T=wiener2(Q,[5,5]); %维纳滤波斑点
figure
imshow (T)
title('维纳滤波斑点');
Imsz = size(I);
ngrid = Imsz(1)*Imsz(2); %求出原图像的大小
I=double(reshape(I,1,ngrid));
F=double(reshape(F,1,ngrid));
g_mean = mean(I); %求出图像的平均值
g_max = max(I); %求出图像的最大值
sqr_err = (I-F)*(I-F)';
MSE = sqr_err/ngrid %均方误差
SNR = 10.0*log10((I-g_mean)*(I-g_mean)'/sqr_err)%信噪比
PSNR = 10.0*log10(g_max*g_max*ngrid/sqr_err)%峰值信噪比
matlab提示错误说,
错误使用 reshape
要执行 RESHAPE,请勿更改元素数目。
请问大神应该怎么改啊?