?? zhongzhilvbo2.m
字號:
img = imread('eight.tif');
figure;
imshow(img);
title('原始圖像');
J = imnoise(img, 'salt & pepper',0.02);
J2 = J;
figure
imshow(J);
title('加椒鹽噪聲后的圖像');
% 3 * 3 窗口
NBlock = 3;
n = (NBlock - 1) / 2;
[M, N] = size(J2);
block = zeros(NBlock);
nL = NBlock ^ 2;
nMedIndex2 = int8(NBlock / 2);
for num1 = n + 1: M - n - 1
for num2 = n + 1 : N - n - 1
% 這一行還是先找了矩形域,然后根據矩形窗找出十字窗
block = J2(num1 - 1 : num1 + 1, num2 - 1 : num2 + 1);
% 要獲得窗口中的十字形區域
% 下面這一行得到的是十字窗的橫
block1 = block(nMedIndex2, :);
% 下面這一行得到的是十字窗的列
block2 = block(:, nMedIndex2);
% 將行和列合并到一個向量中,將它排序后再求中值
blocks = [block1, block2'];
% 求中值
blockss = sort(blocks(:));
% 十字窗口中的圖像數據數量一定是偶數,所以要取兩個的平均
mediValue = mean(blockss(NBlock : NBlock + 1));
% 求出的中值保存到圖像中對應的位置上
J2(num1, num2) = mediValue;
end
end
figure;
imshow(uint8(J2))
title('十字窗口中值濾波后的圖像');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -