数字图像实验报告 医学图像频域滤波与图像复原
7.图像增强—频域滤波 - 数字图像处理实验报告

计算机与信息工程学院验证性实验报告一、实验目的1.掌握怎样利用傅立叶变换进行频域滤波 2.掌握频域滤波的概念及方法 3.熟练掌握频域空间的各类滤波器 4.利用MATLAB 程序进行频域滤波二、实验原理及知识点频域滤波分为低通滤波和高通滤波两类,对应的滤波器分别为低通滤波器和高通滤波器。
频域低通过滤的基本思想:G (u,v )=F (u,v )H (u,v )F (u,v )是需要钝化图像的傅立叶变换形式,H (u,v )是选取的一个低通过滤器变换函数,G (u,v )是通过H (u,v )减少F (u,v )的高频部分来得到的结果,运用傅立叶逆变换得到钝化后的图像。
理想地通滤波器(ILPF)具有传递函数:01(,)(,)0(,)ifD u v D H u v ifD u v D ≤⎧=⎨>⎩其中,0D 为指定的非负数,(,)D u v 为(u,v )到滤波器的中心的距离。
0(,)D u v D =的点的轨迹为一个圆。
n 阶巴特沃兹低通滤波器(BLPF)(在距离原点0D 处出现截至频率)的传递函数为201(,)1[(,)]nH u v D u v D =+与理想地通滤波器不同的是,巴特沃兹率通滤波器的传递函数并不是在0D 处突然不连续。
高斯低通滤波器(GLPF)的传递函数为222),(),(σv u D ev u H =其中,σ为标准差。
相应的高通滤波器也包括:理想高通滤波器、n 阶巴特沃兹高通滤波器、高斯高通滤波器。
给定一个低通滤波器的传递函数(,)lp H u v ,通过使用如下的简单关系,可以获得相应高通滤波器的传递函数:1(,)hp lp H H u v =-利用MATLAB 实现频域滤波的程序f=imread('room.tif');F=fft2(f); %对图像进行傅立叶变换%对变换后图像进行队数变化,并对其坐标平移,使其中心化 S=fftshift(log(1+abs(F)));S=gscale(S); %将频谱图像标度在0-256的范围内 imshow(S) %显示频谱图像h=fspecial('sobel'); %产生空间‘sobel’模版 freqz2(h) %查看相应频域滤波器的图像 PQ=paddedsize(size(f)); %产生滤波时所需大小的矩阵 H=freqz2(h,PQ(1),PQ(2)); %产生频域中的‘sobel’滤波器H1=ifftshift(H); %重排数据序列,使得原点位于频率矩阵的左上角 imshow(abs(H),[]) %以图形形式显示滤波器 figure,imshow(abs(H1),[])gs=imfilter(double(f),h); %用模版h 进行空域滤波gf=dftfilt(f,H1); %用滤波器对图像进行频域滤波 figure,imshow(gs,[]) figure,imshow(gf,[])figure,imshow(abs(gs),[]) figure,imshow(abs(gf),[])f=imread('number.tif'); %读取图片PQ=paddedsize(size(f)); %产生滤波时所需大小的矩阵 D0=0.05*PQ(1); %设定高斯高通滤波器的阈值H=hpfilter('gaussian',PQ(1),PQ(2),D0); %产生高斯高通滤波器 g=dftfilt(f,H); %对图像进行滤波 figure,imshow(f) %显示原图像figure,imshow(g,[]) %显示滤波后图像三、实验步骤:1.调入并显示所需的图片;2.利用MATLAB 提供的低通滤波器实现图像信号的滤波运算,并与空间滤波进行比较。
数字图像处理图像复原实验报告

数字图像处理图像复原实验报告图像复原信息132李佳奇11一、实验目的1、熟悉并掌握MATLAB图像处理工具箱的使用;2、理解并掌握常用的图像的恢复和分割技术。
二、实验内容空域滤波复原close all;clear all;clc;l=imread('d:/'); I=im2double(l); l=imnoise(l,'gaussian',;% 添加高斯噪声PSF=fspecial('average',3);J=imfilter(l,PSF); K=exp(imfilter(log(l),PSF));figure; subplot(131);imshow(l);subplot(132);imshow(J); subplot(133);imshow(K);分析:空域滤波就是在待处理图像中逐点地移动掩模。
在每一点(x,y)处,滤波器在该点的响应通过事先定义的关系来计算。
对于线性空间滤波,其响应由滤波器系数与滤波掩模扫过区域的相应像素值的乘积之和给出维纳滤波l=imread('d:/');H=fspecial('motio n',50,45); J=imfilter(I,H,'circular','c on v'); subplot(221);imshow(J);title('运动模糊后的(角度为45)');J1=i mno ise(J,'gaussia n',0,; subplot(222);imshow(J1);title('加噪模糊的');%figure;J2=deco nvwn r(J1,H);subplot(223)imshow(J2);title('模糊噪声图像的维纳滤波复原');no ise=i mno ise(zeros(size(l)),'gaussia n',0,;NSR=sum( noise(:).A2)/sum(im2double(l(:)).A2);J3=deco nvwn r(J1,H,NSR);imshow(J3);title('引入SNR 的维纳滤波复原');分析:维纳滤波是一种有约束的复原恢复,它综合了退化图像和噪声统计特性两个方面进行了复原处理。
数字图像处理之图像复原

实验五、图象复原一、实验目的1.了解图象退化的几种原因;2.掌握对相应退化原因的复原方法。
二、实验内容1.使用函数fspecial( )和imfilter( )模拟产生退化图象;2.对于不同的噪声引起图像的退化,采用不同的滤波方法复原图象。
3.学会使用维纳滤波器deconvwnr()函数对图像进行复原的方法。
三、实验步骤1.加性噪声退化图象用imnoise( )函数给图象加噪声,如增加高斯白噪声。
使用平滑滤波器对其进行滤波,可达到复原图像的效果x=imread(‘cameraman.tif’);x=imnoise(x,’gaussian’)imshow(x)h=fspecial(‘average’)y=imfilter(x,h);figureimshow(y)2、周期噪声退化图像对于周期噪声可以通过频域滤波来减弱或消除,实现复原图像。
实验五文件夹中有被正弦周期噪声污染退化的图像'pout_g_64.bmp',使用理想带阻滤波器对其频域滤波,复原图像。
(1) pout_g_64.bmp图像及其傅立叶谱见下图。
(2) 构造理想带阻滤波器close allx=imread('pout_g_64.bmp');xm=size(x,1); xn=size(x,2);M2=floor(xm/2); N2=floor(xn/2);u=-M2:1:M2-1; v=-N2:1:N2-1;[U,V]=meshgrid(u,v);D=sqrt(U.^2+V.^2);D0=64;W=4;H=double(D<(D0-W/2)|D>(D0+W/2));figureMesh(U,V,H) ;title('D0=64,W=4,理想带阻滤波器')思考:使用上述理想带阻滤波器对’pout_g_64.bmp’图像进行频域滤波,得到复原图像,结果类似下图。
close allx=imread('pout_g_64.bmp');xm=size(x,1); xn=size(x,2);M2=floor(xm/2); N2=floor(xn/2);u=-M2:1:M2-1; v=-N2:1:N2-1;[U,V]=meshgrid(u,v);D=sqrt(U.^2+V.^2);D0=64;W=4;H=double(D<(D0-W/2)|D>(D0+W/2));F=fft2(x);f=fftshiFt(F);G=f.*H;subplot(121)imshow(real(G));title('频域滤波')GG=fftshift(G);I=ifft2(GG);subplot(122)imshow(uint8(I))title('复原后图像')3、运动模糊退化图像给图像添加运动模糊,使用deconvwnr()维纳滤波器进行图像复原。
数字图像处理实验三:图像的复原

南京工程学院通信工程学院实验报告课程名称数字图像处理C实验项目名称实验三图像的复原实验班级算通111 学生姓名夏婷学号 208110408 实验时间 2014年5月5日实验地点信息楼C322实验成绩评定指导教师签名年月日实验三、图像的恢复一、实验类型:验证性实验二、实验目的1. 掌握退化模型的建立方法。
2. 掌握图像恢复的基本原理。
三、实验设备:安装有MATLAB 软件的计算机四、实验原理一幅退化的图像可以近似地用方程g=Hf+n 表示,其中g 为图像,H为变形算子,又称为点扩散函数(PSF ),f 为原始的真实图像,n 为附加噪声,它在图像捕获过程中产生并且使图像质量变坏。
其中,PSF 是一个很重要的因素,它的值直接影响到恢复后图像的质量。
I=imread(‘peppers.png’);I=I(60+[1:256],222+[1:256],:);figure;imshow(I);LEN=31;THETA=11;PSF=fspecial(‘motion’,LEN,THETA);Blurred=imfilter(I,PSF,’circular’,’conv’);figure;imshow(Blurred);MATLAB 工具箱中有4 个图像恢复函数,如表3-1 所示。
这4 个函数都以一个PSF 和模糊图像作为主要变量。
deconvwnr 函数使用维纳滤波对图像恢复,求取最小二乘解,deconvreg 函数实现约束去卷积,求取有约束的最小二乘解,可以设置对输出图像的约束。
deconvlucy 函数实现了一个加速衰减的Lucy-Richardson 算法。
该函数采用优化技术和泊松统计量进行多次迭代。
使用该函数,不需要提供有关模糊图像中附加噪声的信息。
deconvblind 函数使用的是盲去卷积算法,它在不知道PSF 的情况下进行恢复。
调用deconvblind 函数时,将PSF 的初值作为一个变量进行传递。
数字图像处理之图像复原实验报告

实验三图像复原1. 实验目的熟悉数字图像边缘检测与形态学变换的一般方法2. 实验内容1)练习边缘检测的Matlab命令。
2)练习形态学变换的Matlab命令。
熟悉下列模块函数edgefspecialbwselectbwmorphdilateimnoisebwperim2) 在VC环境下利用例程了解和熟悉数字图像复原的方法。
熟悉例程提供的图像复原菜单下的子菜单3.实验程序1、rice.tif的边缘检测I = imread('rice.tif');BW1 = edge(I,'prewitt'); BW2 = edge(I,'sobel'); BW3 = edge(I,'canny');subplot(2,2,1),imshow(BW1) subplot(2,2,2),imshow(BW2) subplot(2,2,3), imshow(BW3) 2、加入高斯燥声的边缘检测I=imread('rice.tif');J=imnoise(I,'gaussian',0,0.02); subplot(2,2,1),imshow(I);subplot(2,2,2),imshow(J);BW1 = edge(J,'prewitt');BW2 = edge(J,'sobel');BW3 = edge(J,'canny');figure,imshow(BW1)figure,imshow(BW2)figure, imshow(BW3)3、原图高斯燥声椒盐燥声I=imread('rice.tif');J1=imnoise(I,'gaussian',0,0.02);J2=imnoise(I,'salt & pepper',0.02); subplot(2,2,1),imshow(I);subplot(2,2,2),imshow(J1);subplot(2,2,3),imshow(J2)2、加入椒盐燥声的边缘检测I=imread('rice.tif');J=imnoise(I,'salt & pepper',0.02); subplot(2,2,1),imshow(I);subplot(2,2,2),imshow(J);BW1 = edge(J,'prewitt');BW2 = edge(J,'sobel');BW3 = edge(J,'canny');figure,imshow(BW1)figure,imshow(BW2)figure, imshow(BW3)4.实验结果rice.tif的边缘检测原图高斯燥声椒盐燥声加入高斯燥声的边缘检测加入椒盐燥声的边缘检测5.实验总结通过这次实验,学习了MATLAB命令,在VC环境下利用例程了解和熟悉数字图像边缘检测与形态学变换的方法。
数字图像处理实验九、图像复原

fs(x,y):
FFt
Fs(u,v)
Gs(u,v)
Hs(u,v)=
Fs(u,v)
2.数学建模法 大气湍流的退化函数:
H (u, v) e
k ( n2 v 2 )5 / 6
匀速运动的退化函数:
T H ( u, v) sin[ ( ua vb)]e j ( ua vb ) ( ua vb)
三、退化函数引起图像退化的复原方法 1.逆滤波法: 无噪声时: F(u,v)= G(u,v) H(u,v) N(u,v) H(u,v)
有噪声时: F(u,v)= F(u,v)+ 问
题:在H(u,v)趋于0处,噪声会被急剧放大。
解决办法:增加一个低通滤波器。
1 | H (u, v) |2 ]G(u, v) 2.维纳滤波法: F (u, v) [ 2 H (u, v) | H (u, v) | k
调入原始图像 fxy
计算退化图像的频谱 Guv
K=0.01;%特殊常数,一般要用交互的方式确定 Fuvyp=(Huv.*conj(Huv)).*Guv./(Huv.*(Huv.*conj(Huv)+K)); 计算原始图像频谱 计算噪声的频谱 Nuv Rtuxy=abs(ifft2(Fuvyp)); Fuv=fft2(fxy) subplot(2,2,2),imshow(Rtuxy,[]),title('K=0.01时维纳滤波的结果') 还
生 成 退 化 图 像
原 退 Fuvyp=(Huv.*conj(Huv)).*Guv./(Huv.*(Huv.*conj(Huv)+K)); 化 Rtuxy=abs(ifft2(Fuvyp)); 计算 复原图像的频谱Fuvyp 图 生产退化图像频谱 subplot(2,2,3),imshow(Rtuxy,[]),title('K=0.005时维纳滤波的结果') Guv=Huv· Fuv 像
(实验四)数字图像 DFT 及频域滤波

实验报告实验课程:光电图像处理姓名:学号:实验地点:信软楼309指导老师:实验时间:2016年 4 月 7日一.实验名称:(实验四)数字图像DFT及频域滤波二.实验目的1. 了解数字图像各种正交变换的概念、原理和用途。
2. 熟练掌握数字图像的 DFT/DCT 的原理、方法和实现流程,熟悉两种变换的性质,并能对数字图像 DFT 及 DCT 的结果进行必要解释。
3.熟悉和掌握利用 MATLAB 工具进行数字图像 FFT 及 DCT 的基本步骤、MATLAB函数使用及具体变换的处理流程,并能根据需要进行必要的频谱分析和可视化显示。
4. 熟悉利用空域滤波器构建对应的频域滤波器的方法和关键步骤。
5. 熟悉和掌握几种典型的频域低通滤波器及高通滤波器的原理、特性和作用。
6. 搞清空域图像处理与频域图像处理的异同,包括处理流程、各自的优势等。
掌握频域滤波的基本原理和基本流程,并能编写出相应的程序代码。
三.实验原理1.模型图像的FFT 实验:原理:傅里叶变换提供了另外一个角度来观察图像,可以将图像从灰度分布转化为频率分布来观察图像的特征。
FFT主要是应用公式:进行空间域与频率域的相互转换.程序流程图:2.实际图像的FFT 实验:原理:傅里叶变换提供了另外一个角度来观察图像,可以将图像从灰度分布转化为频率分布来观察图像的特征。
其中对于频谱反中心化的处理是通过I=fftshift(I)来实现的,FFT主要是应用公式:进行空域与频域的转换.程序流程图:3.数字图像的频域滤波处理:原理:图像的频域表征了图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。
图像的边缘部分是突变部分,变化较快,因此反映在频域上是高频分量;图像的大部分噪声是高频部分;而图像中大部分平缓的灰度变化部分则为低频分量,再通过构建的高通与低通滤波器与FFT变换后的频谱函数乘积的滤波处理,显示出处理后的图像.程序流程图:(1)(2)四.实验步骤1.模型图像的FFT 实验:(1)利用 MATLAB 程序自行生成一幅二值图像,分别对其分别进行离散傅立叶变换(DFT)计算;(2)对变换结果做频谱中心化处理,并分别显示出其2D频谱图以及对应的3D频谱图;(3)对以上两幅原始图像 FFT 后的频谱图进行分析,可以得出什么样的结论或验证DFT 的什么性质。
《数字图像处理A》图像复原与重建实验

《数字图像处理A》图像复原与重建实验一、实验目的图像的降噪与复原既在日常生活中拥有广泛的应用场景,又是数字图像处理领域的经典应用。
本实验首先对特定图像进行添加噪声和模糊,然后再使用经典的算法对噪声退化图像进行复原和重建。
通过该实验,进一步理解图像降噪和复原的基本原理,巩固图像处理基本操作的同时,提升对图像降噪和复原的理解和掌握。
二、实验内容1.利用matlab实现对特定图像添加高斯噪声和运动模糊。
2.使用逆滤波对退化图像进行处理。
3.使用常数比进行维纳滤波。
4.使用自相关函数进行维纳滤波。
三、实验原理1. 图像退化模型在一般情况下图像的退化过程可建模为一个退化函数和一个噪声项,对一幅图像f(x,y)进行处理,产生退化图像g(x,y),如下所示,其中η(x,y)是噪声项,H则是源图像的退化函数。
g(x,y)=H[f(x,y)]+η(x,y)2. 图像的噪声模型图像的噪声模型分为空间域噪声模型(通过噪声的概率密度函数对噪声进行描述)和频率域噪声模型(由噪声的傅里叶性质进行描述)两种类型。
在本实验中,我们采用的是空间噪声的经典噪声模型高斯噪声,高斯噪声模型的概率分布函数如下所示,其中σ是标准差,μ是期望。
p(z)=√2πσ−(x−μ)22σ2⁄3. 图像模糊图像模糊是一种常见的主要的图像退化过程。
场景和传感器两者导致的模糊可以通过空间域和频率域低通滤波器来建模。
而另一种常见的退化模型是图像获取时传感器和场景之间的均匀线性运动生成的图像模糊。
本实验的模糊模型采用的则是运动模糊,该模糊可以通过工具箱函数fspecial进行建模。
1.带噪声退化图像的复原在图像复原中经典的方法包括两种,分别是直接逆滤波和维纳滤波。
其中,直接逆滤波的复原模型如下所示,其中G(u,v)表示退化图像的傅里叶变换,H(u,v)则表示退化函数。
除了直接逆滤波之外,更为常见的是使用维纳滤波对退化图像进行复原,复原模型如教材100页4.7节所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验七医学图像频域滤波与图像复原实验目的:1.熟悉医学图像离散傅里叶变化的原理和方法;2.掌握医学图像频域滤波的原理;3.掌握使用Matlab中的函数实现医学图像进行频域滤波的方法;4.掌握使用Matlab中的图像退化与复原的方法;实验内容:一、医学图像频域滤波方法与实现使用imnoise给图像BMRI1_24bit.bmp添加概率为0.2的椒盐噪声,对原图像和加噪声后的图像进行傅氏变换并显示变换后的移中频谱图,然后分别使用Butterworth低、高通滤波器对噪声图像进行低通和高通滤波,显示D0为5,10,20,40时的滤波效果图,并说明存两种滤波效果中所存在的差异及原因。
答:>> f=imread('BMRI1_24bit.bmp');>> f=rgb2gray(f);>> g=imnoise(f,'salt & pepper',0.2);>> f=double(f);>> g=double(g);>> F1=fft2(f);>> F2=fft2(g);>> FC1=fftshift(F1);>> FC2=fftshift(F2);>> f=ifft2(F1);>> g=ifft2(F2);>> imshow(uint8(f));title('逆变换后原图像');>> figure,imshow(uint8(g));title('逆变换后的椒盐噪声原图像');>> figure,imshow(F1);title('原图像的傅氏变换');>> figure,imshow(F2);title('椒盐噪声原图像的傅氏变换');>> figure,imshow(log(1+abs(FC1)),[]);title('原图像的移中频谱图');>> figure,imshow(log(1+abs(FC2)),[]);title('椒盐噪声原图像的移中频谱图');Butterworth低通滤波器Butterworthd.mfunction Butterworthd(I)I=rgb2gray(I);[M,N]=size(I);m=fix(M/2);n=fix(N/2);%形容图像的中心点nn=3;%三阶prompt={'Iuput Filter Cutoff(d0):'}; defans={'5'};i=inputdlg(prompt,'input',1,defans);d0=str2num(i{1});% d0=5;% for k=1:4F=fft2(I);FC=fftshift(F);for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=1/(1+(d/d0)^(2*nn));FC(i,j)=h*FC(i,j);endendF=ifftshift(FC);I=ifft2(F);I=uint8(real(I));%real提取它的实部figure,imshow(I);title(['低通d0=',num2str(d0)]);% d0=d0*2;% end>> f=imread('BMRI1_24bit.bmp');>> g=imnoise(f,'salt & pepper',0.2);>> Butterworthd(g);Butterworth高通滤波器Butterworthg.mfunction Butterworthg(I)I=rgb2gray(I);[M,N]=size(I);m=fix(M/2);n=fix(N/2);%形容图像的中心点nn=3;%三阶prompt={'Iuput Filter Cutoff(d0):'};defans={'5'};i=inputdlg(prompt,'input',1,defans);d0=str2num(i{1});% d0=5;%for k=1:4F=fft2(I);FC=fftshift(F);for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=1/(1+(d0/d)^(2*nn));FC(i,j)=h*FC(i,j);endendF=ifftshift(FC);I=ifft2(F);I=uint8(real(I));%real提取它的实部figure,imshow(I);title(['高通d0=',num2str(d0)]);%d0=d0*2;%end>> f=imread('BMRI1_24bit.bmp');>> g=imnoise(f,'salt & pepper',0.2); >> Butterworthg(g);图像从空间域变换到频率域后,其低频分量对应图像中灰度值变化比较缓慢的区域,高频分量则表征图像中物体的边缘和随机噪声等信息。
低通滤波是指保留低频分量,而通过滤波器函数H(u,v)减弱或抑制高频分量的过程。
低通滤波与空域中的平滑滤波器一样可以消除图像中的随机噪声,减弱边缘效应,起到平滑图像的作用。
高通滤波:图像的边缘、细节主要在高频,图像模糊是由于高频成分较弱产生的。
为了消除模糊,突出边缘,可以采用高通滤波的方法,使低频分量得到抑制,从而达到增强高频分量,使图像的边沿或线条变得清晰,实现图像的锐化。
二、医学图像退化及复原1、产生带运动和噪声的退化图像首先使用fspecial 产生一个了len=7,theta=45的移动退化滤波器,然后使用产生的移动退化滤波器作为imfilter的滤波模板,边界填充选项(boundary_options)选择‘circular’,为图像BMRI1_24bit.bmp添加一个移动退化,再使用imnoise产生一个均值为0,方差为0.001的高斯噪声,并将高斯噪声叠加到已经产生移动退化的图像MRIBrain_10.bmp上。
答:>> f=imread('BMRI1_24bit.bmp');>> f=im2double(f);>> PSF=fspecial('motion',7,45);>> g=imfilter(f,PSF,'circular');>> imshow(f,[]),title '原图'>> figure,imshow(g,[]),title '移动退化';>> imshow(f,[]),title '原图'>> figure,imshow(g,[]),title '移动退化';>> imwrite(g,'MRIBrain_10.bmp');>> noise=imnoise(zeros(size(g)),'gaussian',0,0.001);>> gnoise=g+noise;>> figure,imshow(gnoise),title '移动退化+噪声';2、对退化图像进行复原使用DECONVWNR函数对产生退化的MRIBrain_10.bmprp按下面的四种方法进行复原。
(1)省略DECONVWNR中参数NSR;(2)NSR取一个大于0的数值;(3)NSR取一个等于1的数值;(4)NSR取一个大于1的数值;通过比较上面四种方法的结果,指出哪一种方法的效果最好。
提示:当省略NSR时表示进行直接逆滤波,不省略时表示进行维纳滤波答:>> f=imread('MRIBrain_10.bmp');>> f=im2double(f);>> PSF=fspecial('motion',7,45);>> g1=deconvwnr(f,PSF);>> g2=deconvwnr(f,PSF,0.3);>> g3=deconvwnr(f,PSF,1.7);>> g4=deconvwnr(f,PSF,1);>> imshow(f,[]),title '移动退化'>> figure,imshow(g1,[]),title '默认'; >> figure,imshow(g2,[]),title '0.3'; >> figure,imshow(g3,[]),title '1.7'; >> figure,imshow(g4,[]),title '1';。