基于matlab数字图像处理之高通滤波器

合集下载

数字图像处理matlab代码

数字图像处理matlab代码

一、编写程序完成不同滤波器的图像频域降噪和边缘增强的算法并进行比较,得出结论。

1、不同滤波器的频域降噪1.1 理想低通滤波器(ILPF)I1=imread('eight.tif'); %读取图像I2=im2double(I1);I3=imnoise(I2,'gaussian',0.01);I4=imnoise(I3,'salt & pepper',0.01);figure,subplot(1,3,1);imshow(I2) %显示灰度图像title('原始图像'); %为图像添加标题subplot(1,3,2);imshow(I4) %加入混合躁声后显示图像title('加噪后的图像');s=fftshift(fft2(I4)); %将灰度图像的二维不连续Fourier 变换的零频率成分移到频谱的中心[M,N]=size(s); %分别返回s的行数到M中,列数到N中n1=floor(M/2); %对M/2进行取整n2=floor(N/2); %对N/2进行取整d0=40; %初始化d0for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到傅立叶变换中心的距离 if d<=d0 %点(i,j)在通带内的情况h=1; %通带变换函数else %点(i,j)在阻带内的情况h=0; %阻带变换函数ends(i,j)=h*s(i,j); %ILPF滤波后的频域表示endends=ifftshift(s); %对s进行反FFT移动s=im2uint8(real(ifft2(s))); %对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数subplot(1,3,3); %创建图形图像对象imshow(s); %显示ILPF滤波后的图像title('ILPF滤波后的图像(d=40)');运行结果:1.2 二阶巴特沃斯低通滤波器(BLPF)I1=imread('eight.tif'); %读取图像I2=im2double(I1);I3=imnoise(I2,'gaussian',0.01);I4=imnoise(I3,'salt & pepper',0.01);figure,subplot(1,3,1);imshow(I2) %显示灰度图像title('原始图像'); %为图像添加标题subplot(1,3,2);imshow(I4) %加入混合躁声后显示图像title('加噪后的图像');s=fftshift(fft2(I4));%将灰度图像的二维不连续Fourier 变换的零频率成分移到频谱的中心[M,N]=size(s); %分别返回s的行数到M中,列数到N中n=2; %对n赋初值n1=floor(M/2); %对M/2进行取整n2=floor(N/2); %对N/2进行取整d0=40; %初始化d0for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到傅立叶变换中心的距离 h=1/(1+(d/d0)^(2*n)); %BLPF滤波函数s(i,j)=h*s(i,j); %ILPF滤波后的频域表示endends=ifftshift(s); %对s进行反FFT移动s=im2uint8(real(ifft2(s))); %对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数subplot(1,3,3); %创建图形图像对象imshow(s); %显示ILPF滤波后的图像title('BLPF滤波后的图像(d=40)');实验结果:1.3 指数型低通滤波器(ELPF)I1=imread('eight.tif'); %读取图像I2=im2double(I1);I3=imnoise(I2,'gaussian',0.01);I4=imnoise(I3,'salt & pepper',0.01);figure,subplot(1,3,1);imshow(I2) %显示灰度图像title('原始图像'); %为图像添加标题subplot(1,3,2);imshow(I4) %加入混合躁声后显示图像title('加噪后的图像');s=fftshift(fft2(I4));%将灰度图像的二维不连续Fourier 变换的零频率成分移到频谱的中心[M,N]=size(s); %分别返回s的行数到M中,列数到N中n1=floor(M/2); %对M/2进行取整n2=floor(N/2); %对N/2进行取整d0=40;for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到傅立叶变换中心的距离 h=exp(log(1/sqrt(2))*(d/d0)^2);s(i,j)=h*s(i,j); %ILPF滤波后的频域表示endends=ifftshift(s); %对s进行反FFT移动s=im2uint8(real(ifft2(s))); %对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数subplot(1,3,3); %创建图形图像对象imshow(s); %显示ILPF滤波后的图像title('ELPF滤波后的图像(d=40)');运行结果:1.4 梯形低通滤波器(TLPF)I1=imread('eight.tif'); %读取图像I2=im2double(I1);I3=imnoise(I2,'gaussian',0.01);I4=imnoise(I3,'salt & pepper',0.01);figure,subplot(1,3,1);imshow(I2) %显示灰度图像title('原始图像'); %为图像添加标题subplot(1,3,2);imshow(I4) %加入混合躁声后显示图像title('加噪后的图像');s=fftshift(fft2(I4));%将灰度图像的二维不连续Fourier 变换的零频率成分移到频谱的中心[M,N]=size(s); %分别返回s的行数到M中,列数到N中n1=floor(M/2); %对M/2进行取整n2=floor(N/2); %对N/2进行取整d0=10;d1=160;for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到傅立叶变换中心的距离 if (d<=d0)h=1;else if (d0<=d1)h=(d-d1)/(d0-d1);else h=0;endends(i,j)=h*s(i,j); %ILPF滤波后的频域表示endends=ifftshift(s); %对s进行反FFT移动s=im2uint8(real(ifft2(s))); %对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数subplot(1,3,3); %创建图形图像对象imshow(s); %显示ILPF滤波后的图像title('TLPF滤波后的图像'); %为图像添加标题运行结果:1.5 高斯低通滤波器(GLPF)I1=imread('eight.tif'); %读取图像I2=im2double(I1);I3=imnoise(I2,'gaussian',0.01);I4=imnoise(I3,'salt & pepper',0.01);figure,subplot(1,3,1);imshow(I2) %显示灰度图像title('原始图像'); %为图像添加标题subplot(1,3,2);imshow(I4) %加入混合躁声后显示图像title('加噪后的图像');s=fftshift(fft2(I4));%将灰度图像的二维不连续Fourier 变换的零频率成分移到频谱的中心[M,N]=size(s); %分别返回s的行数到M中,列数到N中n1=floor(M/2); %对M/2进行取整n2=floor(N/2); %对N/2进行取整d0=40;for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到傅立叶变换中心的距离 h=1*exp(-1/2*(d^2/d0^2)); %GLPF滤波函数s(i,j)=h*s(i,j); %ILPF滤波后的频域表示endends=ifftshift(s); %对s进行反FFT移动s=im2uint8(real(ifft2(s))); %对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数subplot(1,3,3); %创建图形图像对象imshow(s); %显示ILPF滤波后的图像title('GLPF滤波后的图像(d=40)');运行结果:1.6 维纳滤波器[B,Cmap]=imread('eight.tif'); %读取MATLAB中的名为eight的图像I1=im2double(B);I2=imnoise(I1,'gaussian',0.01);I3=imnoise(I2,'salt & pepper',0.01);figure,subplot(1,3,1);imshow(I1) %显示灰度图像title('原始图像'); %为图像添加标题subplot(1,3,2);imshow(I3) %加入混合躁声后显示图像title('加噪后的图像');I4=wiener2(I3);subplot(1,3,3);imshow(I4); %显示wiener滤波后的图像title('wiener滤波后的图像');运行结果:结论:理想低通滤波器,虽然有陡峭的截止频率,却不能产生良好的效果,图像由于高频分量的滤除而变得模糊,同时还产生振铃效应。

高通滤波器

高通滤波器
(2)振铃
ILPF空域上冲激响应卷积产生两个现象: 一是边缘渐变部分的对比度; 二是边缘部分加边(ringing)。 其原因是冲激响应函数的多个过零点。
1 低通滤波器法
f(x) h(x) g(x)
1 低通滤波器法
3)巴特沃思低通滤波器(BLPF)
n阶巴特沃思(Butterworth)滤波器
4 同态滤波
4 同态滤波
分析
fi(x,y): 缓慢变化,频率集中在低频部分 fr(x,y): 包含景物各种信息,高频分量丰富
处理
lnf x , y lnfi x , y lnfr x , y FFT lnf x , y FFT lnfi x , y FFT lnfr x ,y
H
u,
v
0 1
D u,v D0 D u,v D0
其中D u,v u2 v2
2 高通滤波器法
0.8
0.6
0.4
-4
0.2
-4
-2
0 -2
vu
2
2
4
4
0.8 0.6 0.4 0.2
-4
-2
0
2t
4
2 高通滤波器法
3)巴特沃思高通滤波器(BHPF)
n阶巴特沃思(Butterworth)高通滤波器
u
Ho
u
Ps
Ps u u Pn
u
5 维纳估计器
4)维纳去卷积
目标:信号s(t)既受到f(t)线性系统模糊,又受到 加性噪声源n(t)的污染。
设计滤波器g(t)既能去卷积,又能抑制噪声信号。
5 维纳估计器
输入信号的频谱
X u F uS u N u
输出信号的频谱
2 高通滤波器法

基于matlab数字图像处理之低通滤波器

基于matlab数字图像处理之低通滤波器

实践一:理想低通滤波器、Butterworth低通滤波器、高斯低通滤波器1.1.1理想低通滤波器实践代码:I=imread('couple.bmp');%I=rgb2gray(I);subplot(221),imshow(I);title('原图像');s=fftshift(fft2(I));subplot(223),imshow(abs(s),[]);title('图像傅里叶变换所得频谱');subplot(224),imshow(log(abs(s)),[]);title('图像傅里叶变换取对数所得频谱');[a,b]=size(s);a0=round(a/2);b0=round(b/2);d=10;for i=1:afor j=1:bdistance=sqrt((i-a0)^2+(j-b0)^2);if distance<=d h=1;else h=0;end;s(i,j)=h*s(i,j);end;end;s=uint8(real(ifft2(ifftshift(s))));subplot(222),imshow(s);title('低通滤波所得图像');I=imread('couple.bmp');Hd=ones(size(I));Hd(r>0.2)=0;figuresurf(Hd,'Facecolor','interp','Edgecolor','none','Facelighting','phong');%画三维曲面(色)图1.1.2理想低通滤波器实践结果截图:1.2.1 Butterworth低通滤波器实践代码:clear all;I1=imread('girl.bmp');subplot(221),imshow(I1);xlabel('(a)原始图像');f=double(I1);%数据类型转换g=fft2(f);%图像傅里叶转换g=fftshift(g);%傅里叶变换平移F2=log(abs(g));%对傅里叶变换结果取绝对值,然后取对数subplot(222),imshow(F2,[],'InitialMagnification','fit');%将计算后的矩阵用图像表示colormap(jet);%设置色彩索引图colorbar %显示色彩索引条xlabel('(b)原始图像的傅里叶变换图像');[N1,N2]=size(g);%傅里叶变换图像尺寸n=2;%参数赋初始值d0=5;n1=fix(N1/2);%数据圆整n2=fix(N2/2);%数据圆整for i=1:N1 %遍历图像像素for j=1:N2d=sqrt((i-n1)^2+(j-n2)^2);if d==0h=0;elseh=1/(1+(d/d0)^(2*n));endresult(i,j)=h*g(i,j);% 图像矩阵计算处理endendF3=log(abs(result)); %对傅里叶变换结果取绝对值,然后取对数subplot(223),imshow(F3,'InitialMagnification','fit');colormap(jet);%设置色彩索引图colorbar %显示色彩索引条xlabel('(c)滤波后的傅里叶变换图像')result=ifftshift(result);X2=ifft2(result);X3=uint8(real(X2));subplot(224),imshow(X3)xlabel('(d)Butterworth低通滤波图像');I1=imread('couple.bmp');[f1,f2]=freqspace(size(I1),'meshgrid');D=0.3;r=f1.^2+f2.^2;n=4;for i=1:size(I1,1)for j=1:size(I1,2)t=r(i,j)/(D*D);Hd(i,j)=1/(t^n+1);endendsurf(Hd,'Facecolor','interp','Edgecolor','none','Facelighting','phong');% 画三维曲面(色)图1.2.2 Butterworth低通滤波器实践结果截图:1.3.1 高斯低通滤波器实践代码:IA=imread('girl.bmp');[f1,f2]=freqspace(size(IA),'meshgrid');D=100/size(IA,1);r=f1.^2+f2.^2;Hd=ones(size(IA));for i=1:size(IA,1)for j=1:size(IA,2)t=r(i,j)/(D*D);Hd(i,j)=exp(-t);endendY=fft2(double(IA));Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=real(ifft2(Ya));figuresubplot(2,2,1),imshow(uint8(IA));title('原图像');subplot(2,2,2),imshow(uint8(Ia));title('高斯低通滤波处理');figuresurf(Hd,'Facecolor','interp','Edgecolor','none','Facelighting','phong'); % 画三维曲面(色)图1.3.2 高斯低通滤波器实践结果截图:。

基于matlab的数字图像处理技术在阿贝成像原理和空间滤波实验中的应用

基于matlab的数字图像处理技术在阿贝成像原理和空间滤波实验中的应用

数字图像在空间滤波处理应用的概述2013级光信息1班梁纯佳201341312138摘要: 探讨了数字图像处理技术在阿贝成像原理和空间滤波实验中的应用 ,介绍了用数码相机采集数据 ,用计算机绘制三维频谱图、进行软件空间滤波和成像的方法。

关键词:数字图像处理,数码相机, MATLAB,空间滤波,阿贝成像原理,傅里叶变换引文:21世纪是一个充满信息的时代,图像作为人类感知世界的视觉基础,是人类获取信息、表达信息和传递信息的重要手段。

数字图像处理技术就是利用计算机对图像信息进行加工以满足人的视觉心理或者应用需求的行为。

实质上也是一段能够被计算机还原显示和输出为一幅图像的数字码。

数字图像处理,其发展历史并不长,但数字图像处理技术已经广泛深入地应用于国计民生休戚相关的各个领域。

数字图像处理,用计算机对图像进行分析,以达到所需结果的技术,又称影像处理。

基本内容图像处理一般指数字图像处理。

数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。

图像处理技术有图像数字化、图像编码、图像增强、图像复原、图像分割和图像分析等。

图像处理一般指数字图像处理。

图像处理离不开海量、丰富的基础数据,包括视频、静态图像等多种格式,如Berkeley分割数据集和基准500 (BSDS500)、西门菲沙大学不同光照物体图像数据库、神经网络人脸识别数据、CBCL-MIT StreetScenes(麻省理工学院街景数据库)等。

现代光学信息处理由于具有容量大、速度快、并行性及装置简单等优点,在二维图象信息存储、图象增强、特征识别、现代象质评价等许多方面有着重要的应用。

空间滤波是最基本的光学信息处理操作之一,其基本原理是根据具体需要制作一个适当的空间滤波器,并将其放在光路中输入图象的频谱平面处,通过对输入图象的频谱进行调制,从而完成某种处理过程,如低通、高通、带通、边缘增强、相关识别等。

matlab数字图像处理实验报告

matlab数字图像处理实验报告

《数字图像处理实验报告》实验一图像的增强一.实验目的1.熟悉图像在MATLAB下的读写、输出;2.熟悉直方图;3.熟悉图像的线性指数等;4.熟悉图像的算术运算和几何变换。

二.实验仪器计算机、MATLAB软件三.实验原理图像增强是指根据特定的需要突出图像中的重要信息,同时减弱或去除不需要的信息。

从不同的途径获取的图像,通过进行适当的增强处理,可以将原本模糊不清甚至根本无法分辨的原始图像处理成清晰的富含大量有用信息的可使用图像。

其基本原理是:对一幅图像的灰度直方图,经过一定的变换之后,使其成为均匀或基本均匀的,即使得分布在每一个灰度等级上的像素个数.f=H等或基本相等。

此方法是典刑的图像空间域技术处理,但是由于灰度直方图只是近似的概率密度函数,因此,当用离散的灰度等级做变换时,很难得到完全平坦均匀的结果。

频率域增强技术频率域增强是首先将图像从空间与变换到频域,然后进行各种各样的处理,再将所得到的结果进行反变换,从而达到图像处理的目的。

常用的变换方法有傅里叶变换、DCT变换、沃尔什-哈达玛变换、小波变换等。

假定原图像为f(x,y),经傅立叶变换为F(u,v)。

频率域增强就是选择合适的滤波器H(u,v)对F(u,v)的频谱成分进行处理,然后经逆傅立叶变换得到增强的图像。

四.实验内容及步骤1.图像在MATLAB下的读写、输出;实验过程:>> I = imread('F:\image\');figure;imshow(I);title('Original Image');text(size(I,2),size(I,1)+15, ...'', ...'FontSize',7,'HorizontalAlignment','right');Warning: Image is too big to fit on screen; displaying at 25% > In imuitools\private\initSize at 86In imshow at 1962.给定函数的累积直方图。

基于MATLAB GUI的Gabor滤波器数字图像处理实验平台设计

基于MATLAB GUI的Gabor滤波器数字图像处理实验平台设计

基于MATLAB GUI的Gabor滤波器数字图像处理实验平台设计杨艳;夏福全;陈章宝【摘要】数字图像处理课程涉及知识面较广,颇具实用性,但现有的数字图像处理仿真实验平台体系结构复杂,对于本科生初学者来说,有一定的难度.如果缺少相应的实验系统,学生很难深入理解数字图像处理的技术原理和进行创新性的学习.利用MATLAB GUI良好的数字图像处理用户界面环境,设计了一种基于MATLAB GUI 的Ga-bor滤波器图像处理仿真实验平台.通过简单的交互操作即可完成相关图像的实验处理,即根据图像的时域和频域的窗口尺寸和方向,对图像进行特征提取,同时可选择性地呈现不同形式下的图像处理结果.实验证明该仿真平台不但为数字图像处理实验教学提供了有力的辅助工具,而且有效实现了知识的转化与应用.【期刊名称】《蚌埠学院学报》【年(卷),期】2019(008)002【总页数】4页(P57-60)【关键词】Gabor滤波器;图像处理;实验平台【作者】杨艳;夏福全;陈章宝【作者单位】蚌埠学院电子与电气工程学院,安徽蚌埠 233030;蚌埠学院理学院,安徽蚌埠 233030;蚌埠学院电子与电气工程学院,安徽蚌埠 233030【正文语种】中文【中图分类】TP391.41;TP273《数字图像处理》作为蚌埠学院电子信息工程、电子信息科学和光电信息科学与技术等电子信息类专业必修课程,涵盖的知识面比较宽,尤其是在图像特征提取、图像增强、图像滤波方面,每部分内容都涉及到了多种处理方法和算法,对学生来讲,学习和理解的难度也较大[1]。

目前,学校采用的是理论与实验相结合的教学方法,学生通过MATLAB编程方法对图像进行处理,加深对数字图像处理理论知识的理解。

但在目前的实验教学中,缺少与教材同步的实验系统,学生在深入理解数字图像处理技术原理方面有很大难度。

全国各高校教师为解决“数字图像处理”课程教学所面临的这些问题,做了很多图像处理的实验平台[2-4],在众多平台中多是一些常规的处理方法,而在图像特征提取方面基于Gabor滤波器的处理方法鲜有文献提及。

《基于MATLAB与FPGA的图像处理教程》记录

《基于MATLAB与FPGA的图像处理教程》记录

《基于MATLAB与FPGA的图像处理教程》读书记录1. 第一章我无法直接提供《基于MATLAB与FPGA的图像处理教程》这本书的具体内容,因为这需要访问该书的实体或电子版。

我可以为你创建一个读书笔记的框架,你可以根据实际的书籍内容来填充。

在这一章节中,我们可以介绍图像处理的基本概念、重要性以及MATLAB和FPGA在图像处理中的应用背景。

图像处理的基本概念:解释什么是图像处理,包括图像的定义、图像处理的目的是什么,以及图像处理的主要应用领域(如医学成像、计算机视觉、军事侦察等)。

MATLAB与FPGA在图像处理中的作用:简要介绍MATLAB在图像处理中的软件工具优势,如丰富的图像处理函数库、易于使用的图形用户界面等。

阐述FPGA在图像处理中的硬件加速作用,包括并行处理能力、低功耗优势以及可编程性等。

本书的目标:明确本书的学习目标,例如教授读者如何使用MATLAB和FPGA进行图像处理实验,介绍基本的图像处理算法,以及探讨更高级的FPGA实现技术等。

阅读建议:给出一些阅读本书的建议,如建议读者先了解图像处理的基础知识,准备好必要的编程环境(MATLAB和FPGA开发板),以及鼓励读者动手实践以加深理解。

当你有了具体的书籍内容后,可以按照这个框架来填充和整理你的读书笔记。

2. 第二章由于您没有提供具体的《基于MATLAB与FPGA的图像处理教程》第二章的内容,我将为您提供一个通用的读书笔记模板,您可以根据实际书籍内容进行填充。

在这一章节中,我们将介绍图像处理的基本概念、原理和方法。

这些知识将为后续章节中利用MATLAB和FPGA进行图像处理打下坚实的基础。

图像作为二维数组,由像素点组成,每个像素点包含颜色信息(通常用RGB或灰度值表示)。

图像的分辨率是指图像中像素的数量,通常以像素宽度(宽)和像素高度(高)来衡量。

本章介绍了图像处理的基本概念、目的和类型,以及一些基本的处理操作。

为后续章节的学习打下坚实的基础,特别是如何使用MATLAB和FPGA进行图像处理。

Matlab中的多种滤波器设计方法介绍

Matlab中的多种滤波器设计方法介绍

Matlab中的多种滤波器设计方法介绍引言滤波器是数字信号处理中常用的工具,它可以去除噪声、改善信号质量以及实现其他信号处理功能。

在Matlab中,有许多不同的滤波器设计方法可供选择。

本文将介绍一些常见的滤波器设计方法,并详细说明它们的原理和应用场景。

一、FIR滤波器设计1.1 理想低通滤波器设计理想低通滤波器是一种理论上的滤波器,它可以完全去除截止频率之上的频率分量。

在Matlab中,可以使用函数fir1来设计理想低通滤波器。

该函数需要指定滤波器阶数及截止频率,并返回滤波器的系数。

但是,由于理想低通滤波器是非因果、无限长的,因此在实际应用中很少使用。

1.2 窗函数法设计为了解决理想滤波器的限制,窗函数法设计了一种有限长、因果的线性相位FIR滤波器。

该方法利用窗函数对理想滤波器的频率响应进行加权,从而得到实际可用的滤波器。

在Matlab中,可以使用函数fir1来实现窗函数法设计。

1.3 Parks-McClellan算法设计Parks-McClellan算法是一种优化设计方法,它可以根据指定的频率响应要求,自动选择最优的滤波器系数。

在Matlab中,可以使用函数firpm来实现Parks-McClellan算法。

二、IIR滤波器设计2.1 Butterworth滤波器设计Butterworth滤波器是一种常用的IIR滤波器,它具有平坦的幅频响应,并且在通带和阻带之间有宽的过渡带。

在Matlab中,可以使用函数butter来设计Butterworth滤波器。

2.2 Chebyshev滤波器设计Chebyshev滤波器是一种具有较陡的滚降率的IIR滤波器,它在通带和阻带之间有一个相对较小的过渡带。

在Matlab中,可以使用函数cheby1和cheby2来设计Chebyshev滤波器。

2.3 Elliptic滤波器设计Elliptic滤波器是一种在通带和阻带上均具有较陡的滚降率的IIR滤波器,它相较于Chebyshev滤波器在通带和阻带上都具有更好的过渡特性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实践二:理想高通滤波器、Butterworth高通滤波器、高斯高通滤波器
2.1.1理想高通滤波器实践代码:
I=imread('');
subplot(221),imshow(I);
title('原图像');
s=fftshift(fft2(I));
subplot(223),
imshow(abs(s),[]);
title('图像傅里叶变换所得频谱');
subplot(224),
imshow(log(abs(s)),[]);
title('图像傅里叶变换取对数所得频谱');
[a,b]=size(s);
a0=round(a/2);
b0=round(b/2);
d=10;
p=;q=;
fori=1:a
forj=1:b
distance=sqrt((i-a0)^2+(j-b0)^2);
ifdistance<=dh=0;
elseh=1;
end;
s(i,j)=(p+q*h)*s(i,j);
end;
end;
s=uint8(real(ifft2(ifftshift(s))));
subplot(222),
imshow(s);title('高通滤波所得图像');
I=imread('');
[f1,f2]=freqspace(size(I),'meshgrid');
Hd=ones(size(I));
r=sqrt(f1.^2+f2.^2);
Hd(r<=0;
figure
surf(Hd,'Facecolor','interp','Edgecolor','none','Facelighting','phong');%画三维曲面(色)图
2.1.2理想高通滤波器实践结果截图:
2.2.1Butterworth高通滤波器实践代码:
I1=imread('');
subplot(121),imshow(I1);
title('原始图像');
f=double(I1);
g=fft2(f);
g=fftshift(g);
[N1,N2]=size(g);
n=2;
d0=5;
n1=fix(N1/2);
n2=fix(N2/2);
fori=1:N1
forj=1:N2
d=sqrt((i-n1)^2+(j-n2)^2);
ifd==0
h=0;
else
h=1/(1+(d0/d)^(2*n));
end
result(i,j)=h*g(i,j);
end
end
result=ifftshift(result);
X2=ifft2(result);
X3=uint8(real(X2));
subplot(122),imshow(X3);
title('Butterworth高通滤波');
I1=imread('');
[f1,f2]=freqspace(size(I1),'meshgrid');
D=;
r=f1.^2+f2.^2;
n=4;
fori=1:size(I1,1)
forj=1:size(I1,2)
t=(D*D)/r(i,j);
Hd(i,j)=1/(t^n+1);
end
end
figure
surf(Hd,'Facecolor','interp','Edgecolor','none','Facelighting','phong');%画三维曲面(色)图
2.2.2Butterworth高通滤波器实践结果截图:
2.3.1高斯高通滤波器实践代码:
clearall
IA=imread('');
[f1,f2]=freqspace(size(IA),'meshgrid');
%D=100/size(IA,1);
D=;
r=f1.^2+f2.^2;
fori=1:size(IA,1)
forj=1:size(IA,2)
t=r(i,j)/(D*D);
Hd(i,j)=1-exp(-t);
end
end
Y=fft2(double(IA));
Y=fftshift(Y);
Ya=Y.*Hd;
Ya=ifftshift(Ya);
Ia=real(ifft2(Ya));
figure
subplot(2,2,1),imshow(uint8(IA));title('原始图像');
subplot(2,2,2),imshow(uint8(Ia));title('高斯高通滤波');
figure
surf(Hd,'Facecolor','interp','Edgecolor','none','Facelighting','phong');
2.3.2高斯高通滤波器实践结果截图:。

相关文档
最新文档