已阅: 64
目的
思路
- 用矩阵表示均值滤波计算公式。
- 遍历图像,以每个像素点为中心的3*3矩阵为待处理数据,
- 均值滤波:将算子矩阵与待处理矩阵点乘,求和结果矩阵,以其作为矩阵中心点的新值。
- 中值滤波:将待处理矩阵排序,取中值为矩阵中心点新值。
实验结果
- 从左到右,分别为:原图、均值滤波、中值滤波
- 注:这是放大后的图像,全图太小,不明显。
代码
clear;
ima = imread('4.jpg');
grayIma = rgb2gray(ima);
[height, width] = size(grayIma);
filter8 = [0.125 0.125 0.125; 0.125 0 0.125; 0.125 0.125 0.125];
imaFilter8 = grayIma;
imaFilterMid = grayIma;
for row = 2:height-1
for col = 2:width-1
temp = double(grayIma(row-1:row+1, col-1:col+1));
%均值滤波
template = sum(sum(filter8 .* temp));
imaFilter8(row, col) = template;
%中值滤波
template2 = sort(temp(:));
imaFilterMid(row, col) = template2(5);
end
end
subplot(1,3,1);
imshow(grayIma);
subplot(1,3,2);
imshow(imaFilter8);
subplot(1,3,3);
imshow(imaFilterMid);
共有 0 条评论