资源简介
此为压缩包,内包含三个程序代码,分别为均值滤波,高斯滤波和中值滤波,前两个可以对图像进行模糊化处理,后者可以对图像的椒盐噪声处理,提高图像质量,适合数字图像处理课程使用。
代码片段和文件信息
clcclearclose all;
img = imread(‘sjtu.jpg‘);%读取原图像
gray = rgb2gray(img);
[heightwidth] = size(gray); %输入图像是height x width的且hight>nwidth>n
x1 = double(gray);
x2 = x1;
name={‘3x3 Laplace‘‘5x5 Laplace‘‘7x7 Laplace‘‘9x9 Laplace‘}
sort=1;
n1=[3 5 7 9]
for n = n1;
a(1:n1:n) = 1; %n×n模板元素全是1
for i = 1:height-n+1
for j = 1:width-n+1
c = x1(i:i+(n-1)j:j+(n-1)).*a; %取出x1中从(ij)开始的n行n列元素与模板相乘
s = sum(sum(c)); %求c矩阵中各元素之和
x2(i+(n-1)/2j+(n-1)/2) = s/(n*n); %将与模板运算后的各元素的均值赋给模板中心位置的元素
end
end
final = uint8(x2);
subplot(22sort);
% Laplace
H = fspecial(‘unsharp‘);
sharpened = imfilter(finalH‘replicate‘);
imshow(sharpened);
title(name{sort});
sort=sort+1;
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 827 2018-04-10 12:00 exp2_Ave.m
文件 749 2018-04-10 12:00 exp2_Gauss.m
文件 691 2018-04-10 12:00 exp2_Midfilter.m
- 上一篇:最优化作业
- 下一篇:基于MATLAB的FIR带通滤波器的程序设计
评论
共有 条评论