1. 程式人生 > >均值濾波和中值濾波matlab實現

均值濾波和中值濾波matlab實現

clc;
close all;
%原始圖片 283*289*3
data=imread('圖片1.png');%讀入圖片,圖片複製到當前資料夾
subplot(221);
imshow(data);
title('原始圖片');
%二值化 283*289
gdata=rgb2gray(data);
subplot(222);
imshow(gdata);
title('二值化圖片');
%中值濾波
mdata=medfilt2(gdata);
subplot(223);
imshow(mdata);
title('中值濾波');
%均值濾波
h=fspecial('average');%建立一個均值模板
fdata=imfilter(gdata,h);%前面是圖片,後面是模板
subplot(224);
imshow(fdata);
title('均值濾波');
%顯示直方圖 imhist
figure;
subplot(221);
imhist(gdata,128);
axis([0 50 0 15000]);
title('原始圖片直方圖')
subplot(223);
imhist(mdata);
axis([0 50 0 15000]);
title('中值濾波直方圖')
subplot(224)
imhist(fdata);
axis([0 50 0 15000]);
title('均值濾波直方圖')

在這裡插入圖片描述
在這裡插入圖片描述