实验二数字图空间滤波频域滤波
姓名:XX学号:2XXXXXXX 实验日期2017 年 X 月 X 日
1实验目
1 掌握图滤波基定义目
2ﻩ理解空间域滤波基原理方法
3 掌握进行图空域滤波方法
4ﻩ掌握傅立叶变换逆变换基原理方法
5ﻩ理解频域滤波基原理方法
6 掌握进行图频域滤波方法
2实验容求
1ﻩ滑空间滤波
1) 读出幅图幅图分加入椒盐噪声高斯噪声前张图显示 图窗口中
2)ﻩ加入噪声图选滑(低通)模板做运算模板形成效果 求窗口中显示
3) 函 数 imfilter 时 分 采 填 充 方 法 ( 边 界 选 项 零 填 充’replicate''symmetric’’circular')进行低通滤波显示处理 图
4) 运 for 循环加椒盐噪声图进行 10 次20 次均值滤波查瞧特点 显示均值处理图(提示:利 fspecial 函数’average’类型生成均值滤 波器)
5)ﻩ加入椒盐噪声图分采均值滤波法中值滤波法噪声图做处理 求窗口中显示结果
6) 设计滑空间滤波器噪声图进行处理显示处理图
2 锐化空间滤波
1)ﻩ读出幅图采 3×3 拉普拉斯算子 w [ 1 1 1 1 – 8 1 1 1 1]
进行滤波
2) 编写函数 w genlaplacian(n)动产生奇数尺寸 n 拉普拉斯算子 5
×5 拉普拉斯算子
w = [ 1 1 1 1 1
1 1 1 1 1
1 1 —24 1 1
1 1 1 1 1
1 1 1 1 1]
3)ﻩ分采 5×59×915×15 25×25 拉普拉斯算子 blurry_moontif
进
行锐化滤波利式 g(x y)
f (x y) Ñ2 f (x y) 完成图锐化增强观察
求窗口中显示
4) 采梯度算子该幅图进行锐化滤波较效果
5) 设计锐化空间滤波器噪声图进行处理显示处理图
3 傅立叶变换
1) 读出幅图进行快速傅立叶变换分显示幅度图相位图仅 相位部分进行傅立叶反变换查瞧结果图
2) 仅幅度部分进行傅立叶反变换查瞧结果图
3) 图傅立叶变换 F 置轭进行反变换较新生成图原始图差 异
4 滑频域滤波
1)ﻩ设计理想低通滤波器巴特沃斯低通滤波器高斯低通滤波器截频率选分 出种滤波器透视图
2) 读出幅图分采理想低通滤波器巴特沃斯低通滤波器高斯低通滤波器 进行滤波(截频率选)做反变换观察截止频率采低通 滤波器图原图区特注意振铃效应(提示1)频率域滤波 样注意填充问题2)注意(-1)x+y)
5ﻩ锐化频域滤波
1) 设计理想高通滤波器巴特沃斯高通滤波器高斯高通滤波器截频率选分 出种滤波器透视图
2) 读出幅图分采理想高通滤波器巴特沃斯高通滤波器高斯高通滤波器 进行滤波(截频率选)做反变换观察截止频率采高通 滤波器图原图区
3实验具体实现
1 滑空间滤波:
(1)读出幅图幅图分加入椒盐噪声高斯噪声前张图显示 图窗口中
imgimread('lenapng') figuresubplot(131) imshow(img)title('原始图') img2imnoise(img'salt & pepper'002) subplot(132)
imshow(img2) title('椒盐噪声图') img3imnoise(img'gaussian'002) subplot(133)imshow(img3) title('高斯噪声图')
实验结果
(2)加入噪声图选滑(低通)模板做运算模板形成效果 求窗口中显示 滑滤波低频增强空间域滤波技术目两模糊二消噪声空 间域低通滤波线性非线性特点线性非线性滑滤波器线性滑滤波器包括均值 滤波器非线性滑滤波器值滤波器中值滤波器值滤波器
代码
imgimread(’lenapng’) imgrgb2gray(img) figuresubplot(131) imshow(img)title(’原始图') img2imnoise(img’salt & pepper’002)
subplot(132)imshow(img2)title('椒盐噪声图') img3imnoise(img'gaussian’002) subplot(133)imshow(img3) title(’高斯噪声图')
椒盐噪声图进行滤波处理 h=fspecial(’average’3) I1filter2(himg2)255 I2medfilt2(img2[3 3])
figuresubplot(221)imshow(img)title('原图') subplot(222)imshow(img2)title(’椒盐噪声图’) subplot(223)imshow(I1)title(’3*3 均值滤波图’) subplot(224)imshow(I2)title('3*3 中值滤波图')
%高斯噪声图进行滤波处理 G1filter2(himg3)/255 G2medfilt2(img3[3 3])
figuresubplot(221)imshow(img)title(’原图’) subplot(222)imshow(img3)title('高斯噪声图’) subplot(223)imshow(G1)title(’3*3 均值滤波图') subplot(224)imshow(G2)title(’3*3 中值滤波图')
实验结果
(3) 函数 imfilter 时分采 填充方法(边界选项零填 充'replicate’’symmetric’’circular’)进行低通滤波显示处理图
hfspecial('motion'5045) 创建运动模糊滤波器 filteredimgimfilter(imgh) boundaryReplicateimfilter(imgh'replicate') boundary0imfilter(imgh0) boundarysymmetricimfilter(imgh'symmetric') boundarycircularimfilter(imgh'circular') figuresubplot(321)imshow(img)title('Original Image') subplot(322)imshow(filteredimg)title('Motion Blurred Image') subplot(323)imshow(boundaryReplicate)title('Replicate') subplot(324)imshow(boundary0)title('0Padding') subplot(325)imshow(boundarysymmetric)title('symmetric')
subplot(326)imshow(boundarycircular)title('circular')
g = imfilter(f w filtering_mode boundary_options size_options)中f 输入图w 滤波掩模g 滤波图
实验结果:
(4)运 for 循环加椒盐噪声图进行 10 次20 次均值滤波查瞧特点显 示均值处理图(提示:利 fspecial 函数’average'类型生成均值滤波器)
代码
hfspecial('average')
for i110
J1imfilter(img2h) end
for j120
J2imfilter(img2h) end
figuresubplot(131)imshow(img2)title('salt & pepper Noise') subplot(132)imshow(J1)title('10 Average Filtering')
subplot(133)imshow(J2)title('20 Average Filtering')
实验结果:
(5)加入椒盐噪声图分采均值滤波法中值滤波法噪声图做 处理求窗口中显示结果
代码
h1fspecial('average') Jimfilter(img2h1) J2medfilt2(img2)
figuresubplot(131)imshow(img2)title('salt & pepper Noise') subplot(132)imshow(J)title('Averaging Filtering')
subplot(133)imshow(J2)title('Median Filtering')
实验结果
(6)设计滑空间滤波器噪声图进行处理显示处理图
代码
[m n]size(img2) figuresubplot(121)imshow(img2) szeros(19)
for i21m1
for j21n1
h1
for pi11i+1
for qj11j+1
s(h)img2(pq)
hh+1
end
end
ssort(s)
I(ij)s(5)
end end
subplot(122)imshow(I)
实验结果:
2锐化空间滤波
(1)读出幅图采 3×3 拉普拉斯算子 w [ 1 1 1 1 – 8 1 1 1 1] 进行滤波
代码 imgimread('lenapng') imgrgb2gray(img) imgim2double(img) w[111
181
111] kconv2(imgw'same') imshow(k)
实验结果
(2)编写函数 w genlaplacian(n)动产生奇数尺寸 n 拉普拉斯算子 5×5 拉普拉斯算子
w = [ 1 1 1 1 1
1 1 1 1 1
1 1 —24 1 1
1 1 1 1 1
1 1 1 1 1]
代码
numinput('please enter any num') nnum
Wones(nn) for i1n
for j=1:n
if(ifix(n2)+1 && j=fix(n2)+1)
W(ij)n*n—1
end
end end
display (W)
代码运行结果:
(3)分采 5×59×915×15 25×25 拉普拉斯算子 blurry_moontif 进
代码 基题求形成函数
行锐化滤波利式 完成图锐化增强观察求窗口中显示
function [W]lapulasi(num) nnumWones(n)xfix(n2)+1 W(xx)(n*n1)
代码 fimread('moontif') fim2double(f)
figuresubplot(231)imshow(f)title('Original Image') w0lapulasi(3)w1lapulasi(5)w2lapulasi(9) w3lapulasi(15)w4lapulasi(25)
f0fimfilter(fw0'replicate') subplot(232)imshow(f0)title('3*3 lapulasi') f1fimfilter(fw1'replicate') subplot(233)imshow(f1)title('5*5 lapulasi') f2fimfilter(fw2'replicate') subplot(234)imshow(f2)title('9*9 lapulasi') f3fimfilter(fw3'replicate') subplot(235)imshow(f3)title('15*15 lapulasi') f4fimfilter(fw4'replicate') subplot(236)imshow(f4)title('25*25 lapulasi')
实验结果
代码 [Imap]imread('moontif') Idouble(I)
figuresubplot(231)imshow(Imap)title('Original Image') [GxGy]gradient(I)
Gsqrt(Gx*Gx+Gy*Gy)J1G subplot(232)imshow(J1map)title('Operator1 Image') J2IKfind(G>7)
J2(K)G(K)
subplot(233)imshow(J2map) title('Operator2 Image') J3I
Kfind(G>7) J3(K)255
subplot(234)imshow(J3map)title('Operator3 Image') J4I
Kfind(G<7) J4(K)255
subplot(235)imshow(J4map)title('Operator4 Image') J5I
Kfind(G<7) J5(K)0
Qfind(G>7) J5(Q)255
subplot(236)imshow(J5map)title('Operator5 Image')
(4)采梯度算子该幅图进行锐化滤波较效果
实验效果
代码
Iimread('lenapng')
Irgb2gray(I)
hfspecial('sobel')
h1h'*05
h2h'
h3h'*15
z1imfilter(Ih1)
z2imfilter(Ih2)
z3imfilter(Ih3)
figuresubplot(221)imshow(I)title('Original Image')
subplot(222)imshow(z1)title('Vertical filtering1')
subplot(223)imshow(z2)title('Vertical filtering2')
subplot(224)imshow(z3)title('Vertical filtering3')
(5)设计锐化空间滤波器噪声图进行处理显示处理图
运行结果:
3傅立叶变换
(1)读出幅图进行快速傅立叶变换分显示幅度图相位图仅 相位部分进行傅立叶反变换查瞧结果图
代码 imgimread('lenapng') imgrgb2gray(img)
f1fft2(img) 快速傅里叶变换 f2log(1+abs(f1)) 振幅谱 f3fftshift(f1)
f4angle(f1) 相位谱 figuresubplot(131)imshow(img)title('Original Image') subplot(132)imshow(log(1+abs(f3))[])title('amplitude spectrum') subplot(133)imshow(f4)title('phase spectrum')
实验结果
代码 fifft2(abs(f1))
figuresubplot(131)imshow(img)title('Original Image') subplot(132)imshow(log(1+abs(f3))[])title('amplitude spectrum') subplot(133)imshow(log(1+abs(f))[])title('absamplitude spectrum')
(2)仅幅度部分进行傅立叶反变换查瞧结果图.
实验结果
(3)图傅立叶变换 F 置轭进行反变换较新生成图原始图差 异
代码
f1fft2(img) f2log(1+abs(f1)) f3fftshift(f1) f4angle(f1)
f5f4
f6double(f3*exp(f4)) 傅立叶变换复轭 f7ifft2(f6) 反傅立叶变换 figuresubplot(121)imshow(img)title('Original Image')
subplot(122)imshow(real(f7)[])title('inverse fourier transform')
实验效果
4滑频域滤波
(1)设计理想低通滤波器巴特沃斯低通滤波器高斯低通滤波器截频率 选分出种滤波器透视图
理想低通滤波器透视图
a100
b100
U0a
V0b
Mlength(U)Nlength(V)
D010 D0 频带中心半径
x150y150
x050y050
mfix(M2) nfix(N2)
Hzeros(MN)
n2
for u1M
for v1N
asqrt((U(u) 50) * (U(u)50) + (V(v) 50) * (V(v) 50))D(uv)值
if(a
else
H(uv)0
end
end
end
figure subplot(131)
surf(UVH)title('理想低通滤波透视图')
2 阶巴特沃斯低通滤波透视图55
a100
b100
U0a
V0b
Mlength(U)Nlength(V)
D010W200D0 频带中心半径W 频带宽度
x150y150
x050y050
mfix(M2) nfix(N2)
Hzeros(MN)
n2
for u1M
for v1N
asqrt((U(u) 50) * (U(u)50) + (V(v) 50) * (V(v) 50))D(uv)值
b1+(aD0)^2*n
H(uv)1b
end
end
subplot(132)surf(UVH)
title('n2 Butterworth lowess filter')
高斯低通滤波
a100
b100
U0a
V0b
Mlength(U)Nlength(V)
D010 D0 频带中心半径
x150y150
x050y050
mfix(M2) nfix(N2)
Hzeros(MN)
for u1M
for v1N
D1((umx0)^2+(vny0)^2)^05
D2((um+x0)^2+(vn+y0)^2)^05
D11((umx1)^2+(vny1)^2)^05
D21((um+x1)^2+(vn+y1)^2)^05
H(uv) (U(u) 50) * (U(u)50) + (V(v) 50) * (V(v)
50)
end
end
绘制高斯曲面时候加述代码显示美观
S50
H H(2*S)
H exp(H) (sqrt(2*pi) * sqrt(S))
subplot(133)surf(UVH)title('Gaussian lowess filter')
实验结果
图知频带中心宽度相时理想低通滤波器圆柱形图二阶巴特沃斯 低通滤波器面线较紧凑高斯滤波图滑
(2)读出幅图分采理想低通滤波器巴特沃斯低通滤波器高斯低通滤波器 进行滤波(截频率选)做反变换观察截止频率采低通滤波器 图原图区特注意振铃效应(提示:1)频率域滤波样注意填充问 题2)注意(—1)x+y)
理想低通滤波 imgimread('lenapng') imgrgb2gray(img) fdouble(img)
gfft2(f) 傅立叶变换 gfftshift(g) [MN]size(g)
d015
mfix(M2) nfix(N2) for i1M
for j1N
dsqrt((im)^2+(jn)^2)
if(d
else
h0
end
result(ij)h*g(ij)
end
end resultifftshift(result) J1ifft2(result) J2uint8(real(J1))
figuresubplot(221)imshow(img)title('Original Image') subplot(222)imshow(J2)title('d015 lowpss filter')
d030 理想低通滤波 d030
mfix(M2) nfix(N2) for i1M
for j1N
dsqrt((im)^2+(jn)^2)
if(d
else
h0
end
result(ij)h*g(ij)
end end
resultifftshift(result) J1ifft2(result) J2uint8(real(J1))
subplot(223)imshow(J2)title('d030 lowpss filter')
d0100 理想低通滤波 d0100
mfix(M2) nfix(N2) for i1M
for j1N
dsqrt((im)^2+(jn)^2)
if(d
else
h0
end
result(ij)h*g(ij)
end end
resultifftshift(result) J1ifft2(result) J2uint8(real(J1))
subplot(224)imshow(J2)title('d0100 lowpss filter')
实验结果:
截止频率 d015 时滤波图较模糊振铃现象明显 d030 时图模糊 程度减弱振铃现象存 d0100 时滤波图较清晰高频分量损失 图边然存点振铃现象
nn2 d015
mfix(M2)nfix(N2) for i1M
for j1N
dsqrt((im)^2+(jn)^2)
h1(1+0414*(dd0)^(2*nn))
result(ij)h*g(ij)
end end
resultifftshift(result) J1ifft2(result) J2uint8(real(J1))
figuresubplot(221)imshow(img)title('Original Image') subplot(222)imshow(J2)title('d015 Butterworth lowpss filter')
d030 巴特沃斯低通滤波
2 阶巴特沃斯低通滤波
d030
mfix(M2)nfix(N2) for i1M
for j1N
dsqrt((im)^2+(jn)^2)
h1(1+0414*(dd0)^(2*nn))
result(ij)h*g(ij)
end end
resultifftshift(result) J1ifft2(result)J2uint8(real(J1))
subplot(223)imshow(J2)title('d030 Butterworth lowpss filter')
d0100 巴特沃斯低通滤波d0100
mfix(M2)nfix(N2) for i1M
for j1N
dsqrt((im)^2+(jn)^2)
h1(1+0414*(dd0)^(2*nn))
result(ij)h*g(ij)
end end
resultifftshift(result) J1ifft2(result)J2uint8(real(J1))
subplot(224)imshow(J2)title('d0100 Butterworth lowpss filter')
实验效果:
采截止频率分 1530100 进行实验滤波图逐渐清晰整体振铃现象
高斯低通滤波 d015
mfix(M2)nfix(N2) for i1M
for j1N
dsqrt((im)^2+(jn)^2)
hexp((d^2)(2*(d0^2)))
result(ij)h*g(ij)
end end
resultifftshift(result) J1ifft2(result)J2uint8(real(J1)) figuresubplot(221)imshow(img)title('Original Image') subplot(222)imshow(J2)title('d015 Gaussian filter')
d030 高斯低通滤波 d030
mfix(M2)nfix(N2) for i1M
for j1N
dsqrt((im)^2+(jn)^2)
hexp((d^2)(2*(d0^2)))
result(ij)h*g(ij)
end end
resultifftshift(result) J1ifft2(result)J2uint8(real(J1)) subplot(223)imshow(J2)title('d030 Gaussian filter')
d0100 高斯低通滤波 d0100
mfix(M2)nfix(N2) for i1M
for j1N
dsqrt((im)^2+(jn)^2)
hexp((d^2)(2*(d0^2)))
result(ij)h*g(ij)
end end
resultifftshift(result) J1ifft2(result)J2uint8(real(J1))
subplot(224)imshow(J2)title('d0100 Gaussian filter')
没理想低通滤波器严重
实验结果:
实验知高斯滤波器滑效果二阶巴特沃斯滤波器高斯滤波图 振铃现象产生.
5锐化频域滤波
(1)设计理想高通滤波器巴特沃斯高通滤波器高斯高通滤波器截频率选分 出种滤波器透视图
理想高通滤波器
a100 b100 U0a V0b
Mlength(U)Nlength(V) D015 D0 频带中心半径
Hzeros(MN) n2
for u1M
for v1N
asqrt((U(u)50)*(U(u)50)+(V(v)50)*(V(v)50))D(uv)值
if(a>D0)
H(uv)1
else
H(uv)0
end
end
end
figure
surf(UVH)title('理想高通滤波透视图')
巴特沃斯高通滤波器
a100
b100
U0a
V0b
Mlength(U)Nlength(V)
D015 D0 频带中心半径
x150y150
x050y050
mfix(M2) nfix(N2)
Hzeros(MN)
n2
for u1M
for v1N
asqrt((U(u) 50) * (U(u)50) + (V(v) 50) * (V(v) 50))D(uv)值
b1+(aD0)^2*n
H(uv)1b
end
end
figuresurf(UVH)title('n2 Butterworth high filter')
高通滤波器
巴特沃斯高通滤波器
高斯高通滤波 a100
b100
U0a
V0b
Mlength(U)Nlength(V)
D015 D0 频带中心半径
x150y150
x050y050
mfix(M2) nfix(N2)
Hzeros(MN)
for u1M
for v1N
D1((umx0)^2+(vny0)^2)^05
D2((um+x0)^2+(vn+y0)^2)^05
D11((umx1)^2+(vny1)^2)^05
D21((um+x1)^2+(vn+y1)^2)^05
高斯低通曲面
H(uv) (U(u) 50) * (U(u)50) + (V(v) 50) * (V(v) 50)
end
end
添加方差显示图更加美观
S50
H H(2*S)
H exp(H) (sqrt(2*pi) * sqrt(S))
figuresurf(UVH)title('Gaussian high filter')
高斯高通滤波器
(2)读出幅图分采理想高通滤波器巴特沃斯高通滤波器高斯高通滤波器 进行滤波(截频率选)做反变换观察截止频率采高通滤波器 图原图区
理想高通滤波 imgimread('lenapng') imgrgb2gray(img) fdouble(img)
gfft2(f) 傅立叶变换 gfftshift(g) [MN]size(g)
d015
mfix(M2) nfix(N2) for i1M
for j1N
dsqrt((im)^2+(jn)^2)
if(d>d0)
h1
else
h0
end
result(ij)h*g(ij)
end end
resultifftshift(result) J1ifft2(result) J2uint8(real(J1))
figuresubplot(221)imshow(img)title('Original Image') subplot(222)imshow(J2)title('d015 high filter')
d030
mfix(M2) nfix(N2) for i1M
for j1N
dsqrt((im)^2+(jn)^2)
if(d>d0)
h1
else
h0
end
result(ij)h*g(ij)
end end
resultifftshift(result) J1ifft2(result) J2uint8(real(J1))
subplot(223)imshow(J2)title('d030 high filter')
d080
mfix(M2) nfix(N2) for i1M
for j1N
dsqrt((im)^2+(jn)^2)
if(d>d0)
h1
else
h0
end
result(ij)h*g(ij)
end end
resultifftshift(result) J1ifft2(result) J2uint8(real(J1))
subplot(224)imshow(J2)title('d080 high filter')
理想高通滤波器图片效果:
d015 时滤波图灰度变化部分基保留 d030 时图轮廓较清楚
巴特沃斯高通滤波 imgimread('lenapng') imgrgb2gray(img) fdouble(img)
gfft2(f) 傅立叶变换 gfftshift(g) [MN]size(g)
nn2 d015
mfix(M2)nfix(N2) for i1M
for j1N
dsqrt((im)^2+(jn)^2)
if(d0)
h0
else
h1(1+0414*(d0d)^(2*nn))
end
result(ij)h*g(ij)
end
d080 时瞧细微图轮廓
end resultifftshift(result) J1ifft2(result) J2uint8(real(J1))
figuresubplot(221)imshow(img)title('Original Image') subplot(222)imshow(J2)title('d015 Butterworth high filter')
d030
mfix(M2)nfix(N2) for i1M
for j1N
dsqrt((im)^2+(jn)^2)
if(d0)
h0
else
h1(1+0414*(d0d)^(2*nn))
end
result(ij)h*g(ij)
end end
resultifftshift(result) J1ifft2(result) J2uint8(real(J1))
subplot(223)imshow(J2)title('d030 Butterworth high filter')
d080
mfix(M2)nfix(N2) for i1M
for j1N
dsqrt((im)^2+(jn)^2)
if(d0)
h0
else
h1(1+0414*(d0d)^(2*nn))
end
result(ij)h*g(ij)
end end
resultifftshift(result) J1ifft2(result) J2uint8(real(J1))
subplot(224)imshow(J2)title('d080 Butterworth high filter')
n2 时巴特沃斯高通滤波效果:
高斯高通滤波器 imgimread('lenapng') imgrgb2gray(img) fdouble(img)
gfft2(f) 傅立叶变换 gfftshift(g) [MN]size(g)
n2 d015
mfix(M2)nfix(N2) for i1M
for j1N
dsqrt((im)^2+(jn)^2)
h1exp((d^2)(2*(d0^2)))
result(ij)h*g(ij)
end end
resultifftshift(result) J1ifft2(result) J2uint8(real(J1))
figuresubplot(221)imshow(img)title('Original Image') subplot(222)imshow(J2)title('d015 Gaussian filter')
d030
mfix(M2)nfix(N2)
滤波结果理想高通滤波器更加滑边缘失真情况较
for i1M
for j1N
dsqrt((im)^2+(jn)^2)
h1exp((d^2)(2*(d0^2)))
result(ij)h*g(ij)
end end
resultifftshift(result) J1ifft2(result) J2uint8(real(J1))
subplot(223)imshow(J2)title('d030 Gaussian filter')
d080
mfix(M2)nfix(N2) for i1M
for j1N
dsqrt((im)^2+(jn)^2)
h1exp((d^2)(2*(d0^2)))
result(ij)h*g(ij)
end end
resultifftshift(result) J1ifft2(result) J2uint8(real(J1))
subplot(224)imshow(J2)title('d080 Gaussian filter')
高斯高通滤波效果
高斯高通滤波效果 3 种滤波器中滑滤效果较清晰
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档