遥感图像处理实验报告_图像的频率域滤波处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
遥感图像处理
实验报告(2013 —2014 学年第1学期)实验名称:图像的频率域滤波处理实验时间:
实验地点:
指导教师:
专业班级:
姓名:
学号:
一:实验目的
1:掌握滤波器在程序语言中的定义算法
2:理解图像的频率域与空间域之间的区别与联系
3:在频率域对图像进行处理,达到平滑(低通滤波)与锐化(高通滤波)的目的二:实验内容
1:在Matlab中定义滤波器
2:对图像进行频率域处理
3:对频率域的处理结果,结合第3次实验(空间域处理)结果进行对比,给出评价三:实验代码及Matlab使用心得(注释中)
%清屏,清除工作空间,关闭所有绘图窗口
clc;
clear all;
close all;
%读取图像,并建立一个窗口,显示原始图像
I = imread('C:\Users\浮生\Desktop\大三\Matlab\data\lena.png', 'png')
figure(1)
imshow(I)
title('原始图像')
%图像傅立叶变换
%fft(X)函数的作用是,返回矩阵X的【二维离散傅立叶变换】结果
%fft()函数采用快速傅立叶变换算法,运算结果的行列数与被变换矩阵的规格相同
F = fft2(I);
%fftshift()函数的功能则是把FFT的DC分量移动到频谱矩阵的中心
%在直观上,就是把低频信息移到矩阵中心,便于直观观看图像的频谱
F = fftshift(F);
%由于FFT的运算结果的数值跨幅过大
%直接显示的话只能看到一个小亮点
%为了显示的直观,我们需要自行定义灰度显示幅度
%在本例中,我们定义显示幅度为0-50000
figure(2);
imshow(abs(real(F)), [0 50000]);
title('频率域图像')
%%%%%%定义滤波器之前的准备工作%%%%%
[m n] = size(I);%读取图像的规格
p = m/2;%定义两个计数器p和q
q = n/2;%用以控制滤波器的遍历过程
image = zeros(m,n);
%%%%%%截止频率为50的理想低通滤波器%%%%%%
%低通滤波器,即让频率高于阈值的信号值为0,而在阈值之下的所有信号保持原样%反映在图像操作中,将去除高频信息,达到平滑的效果
lowpass_50 = F;
for u = 1:m
for v = 1:n
if sqrt((u-p)^2 + (v-q)^2) < 50
%什么也不做;
else
lowpass_50(u, v) = 0;
end
end
end
%显示频率域图像
figure(3);
imshow(abs(real(lowpass_50)), [0 50000]);
title('频率域图像截止频率为50的理想低通滤波器');
%傅立叶逆运算反算图像
image = ifftshift(lowpass_50);%还原矩阵
image = ifft2(image);%傅立叶逆运算
image = abs(real(image));%复数取实部
%显示处理结果图像
figure(4);
imshow(image, []);
title('处理结果截止频率为50的理想低通滤波器')
%%%%%%截止频率为100的理想低通滤波器%%%%%%
lowpass_100 = F;
for u = 1:m
for v = 1:n
if sqrt((u-p)^2 + (v-q)^2) < 100
%什么也不做;
else
lowpass_100(u, v) = 0;
end
end
end
%显示频率域图像
figure(5);
imshow(abs(real(lowpass_100)), [0 50000]);
title('频率域图像截止频率为100的理想低通滤波器'); %傅立叶逆运算反算图像
image = ifftshift(lowpass_100);%还原矩阵image = ifft2(image);%傅立叶逆运算image = abs(real(image));%复数取实部%显示处理结果图像
figure(6);
imshow(image, []);
title('处理结果截止频率为100的理想低通滤波器')
%%%%%%截止频率为50的理想高通滤波器%%%%%% highpass_50 = F;
for u = 1:m
for v = 1:n
if sqrt((u-p)^2 + (v-q)^2) < 50
highpass_50(u, v) = 0;
else
%什么也不做;
end
end
end
%显示频率域图像
figure(7);
imshow(abs(real(highpass_50)), [0 50000]);
title('频率域图像截止频率为50的理想高通滤波器');
%傅立叶逆运算反算图像
image = ifftshift(highpass_50);%还原矩阵image = ifft2(image);%傅立叶逆运算image = abs(real(image));%复数取实部%显示处理结果图像
figure(8);
imshow(image, []);
title('处理结果截止频率为50的理想高通滤波器')
%%%%%%截止频率为100的理想高通滤波器%%%%%% highpass_100 = F;
for u = 1:m
for v = 1:n
if sqrt((u-p)^2 + (v-q)^2) < 100
highpass_100(u, v) = 0;
else