数字图像处理——均值滤波
%读取图像,并简单处理
Image= double(imread('2-HistogramEqualization.jpg'));
IMAGE1= Image(:,:,1);
[lines,samples,bands] = size(Image);
IMG1 = reshape(IMAGE1,1,[]);
MAX = max(IMG1);
MIN = min(IMG1);
%均值滤波
Meanfilter = [1/8 1/8 1/8;1/8 0 1/8;1/8 1/8 1/8];%定义模板
IM4 = IMAGE1;
for i= 2:lines -1
for j = 2:samples - 1
IM4(i,j) = round(sum(sum(Meanfilter.*[IMAGE1(i-1,j-1) IMAGE1(i,j-1) IMAGE1(i+1,j-1);
IMAGE1(i-1,j) IMAGE1(i,j) IMAGE1(i+1,j);
IMAGE1(i-1,j+1) IMAGE1(i,j+1) IMAGE1(i+1,j+1)])));
end
end
figure(4)
subplot(2,2,1);
imshow(uint8(IMAGE1));
title('原始图像');
subplot(2,2,3);
hist(IMG1,MAX);
title('原始图像直方图');
subplot(2,2,2);
imshow(uint8(IM4));
title('均值滤波后的图像');
subplot(2,2,4);
hist(reshape(IM4,1,[]),255);
title('均值滤波后的直方图');