实验一 图像的二维离散傅立叶变换资料.docx
《实验一 图像的二维离散傅立叶变换资料.docx》由会员分享,可在线阅读,更多相关《实验一 图像的二维离散傅立叶变换资料.docx(18页珍藏版)》请在冰豆网上搜索。
实验一图像的二维离散傅立叶变换资料
实验一图像的二维离散傅立叶变换
一、实验目的
掌握图像的二维离散傅立叶变换以及性质
二、实验要求
1)建立输入图像,在6464的黑色图像矩阵的中心建立1616的白色矩形图像点阵,形成图像文件。
对输入图像进行二维傅立叶变换,将原始图像及变换图像(三维、中心化)都显示于屏幕上。
2)调整输入图像中白色矩形的位置,再进行变换,将原始图像及变换图像(三维、中心化)都显示于屏幕上,比较变换结果。
3)调整输入图像中白色矩形的尺寸(4040,44),再进行变换,将原始图像及变换图像(三维、中心化)都显示于屏幕上,比较变换结果。
三、实验仪器设备及软件
HPD538、MATLAB
四、实验原理
在二维情况下,定义f(x,y)的傅立叶变换F(u,v):
它表明了空间频率成分与二维图像信号之间的相互关系
对于我们要处理的实际二维图像,其傅氏变换一般是在频率域上有界的,亦即有
用成分总是落在一定的频率域范围之内
上述的频率域性质的依据在于:
一是图像中景物的复杂性具有一定的限度,其中大部分内容是变化不大的区域
完全像“雪花”点似的图像没有任何实际意义。
二是人眼对空间复杂性(频率)的分辨率以及显示器的分辨能力都是具有一定
限度。
若实变量函数f(x)是绝对可积的,即:
且F(u)是可积的,则傅立叶变换对一定存在。
如果f(x)考虑为实函数,它的傅立叶变换通常是复数形式,即:
也可表为:
若二变量函数f(x,y)是绝对可积的,即:
且F(u,v)是可积的,则傅立叶变换对一定存在。
二维函数的傅立叶谱,振幅谱
相位谱
和能量谱分别为:
五、实验步骤及程序
%clear
%原始图象
f=zeros(64,64);%输入64*64的黑色图像矩阵
f(25:
40,25:
40)=1;%建立16*16的白色矩行图像点阵
figure
(1);
subplot(231),imshow(f);
title('原始图像')%显示原图像
F=fft2(f);%傅立叶变换
subplot(232)
imshow(abs(F));title('傅里叶变换图像');%显示傅里叶变换图像
F2=fftshift(abs(F));%频谱中心化
subplot(233);
imshow(abs(F2));title('中心化傅里叶频谱图');%显示中心化傅里叶频谱图
x=1:
64;
y=1:
64;
subplot(234);
mesh(abs(real(F)));title('三维频谱图');%显示三维频谱图
subplot(235)
mesh(x,y,F2(x,y));
title('FFT')
2、调整输入图像中白色矩形的位置,再进行变换后的程序
clear
%原始图象
f=zeros(64,64);%输入64*64的黑色图像矩阵
f(47:
63,47:
63)=1;%建立16*16的白色矩行图像点阵
figure
(1);
subplot(231),imshow(f);
title('原始图像')%显示原图像
F=fft2(f);%傅立叶变换
subplot(232)
imshow(abs(F));title('傅里叶变换图像');%显示傅里叶变换图像
F2=fftshift(abs(F));%频谱中心化
subplot(233);
imshow(abs(F2));title('中心化傅里叶频谱图');%显示中心化傅里叶频谱图
x=1:
64;
y=1:
64;
subplot(234);
mesh(abs(real(F)));title('三维频谱图');%显示三维频谱图
subplot(235)
mesh(x,y,F2(x,y));
title('FFT')
3、整输入图像中白色矩形的尺寸(4040,44),再进行变换的程序
40×40
clear
%原始图象
f=zeros(64,64);%输入64*64的黑色图像矩阵
f(13:
52,13:
52)=1;%建立16*16的白色矩行图像点阵
figure
(1);
subplot(231),imshow(f);
title('原始图像')%显示原图像
F=fft2(f);%傅立叶变换
subplot(232)
imshow(abs(F));title('傅里叶变换图像');%显示傅里叶变换图像
F2=fftshift(abs(F));%频谱中心化
subplot(233);
imshow(abs(F2));title('中心化傅里叶频谱图');%显示中心化傅里叶频谱图
x=1:
64;
y=1:
64;
subplot(234);
mesh(abs(real(F)));title('三维频谱图');%显示三维频谱图
subplot(235)
mesh(x,y,F2(x,y));
title('FFT')
4×4
clear
%原始图象
f=zeros(64,64);%输入64*64的黑色图像矩阵
f(13:
52,13:
52)=1;%建立16*16的白色矩行图像点阵
figure
(1);
subplot(231),imshow(f);
title('原始图像')%显示原图像
F=fft2(f);%傅立叶变换
subplot(232)
imshow(abs(F));title('傅里叶变换图像');%显示傅里叶变换图像
F2=fftshift(abs(F));%频谱中心化
subplot(233);
imshow(abs(F2));title('中心化傅里叶频谱图');%显示中心化傅里叶频谱图
x=1:
64;
y=1:
64;
subplot(234);
mesh(abs(real(F)));title('三维频谱图');%显示三维频谱图
subplot(235)
mesh(x,y,F2(x,y));
title('FFT')
六、实验结果与分析
图1.1将原始图像及变换图像都显示的实验图像
图1.2调整输入图像中白色矩形的位置,再进行变换后的实验图像
图1.3调整输入图像中白色矩形的尺寸(4040),再进行变换的实验图像
幅度谱决定了一幅图像中含有的各种频率分量的多少
相位谱决定了每一种频率分量在图像中的位置。
只要每一种频率分量保持在图像中的正确位置,那么图像的完整性就能得到很好的保持,这也就是为什么在信号或图像处理中通常只对幅度谱进行处理的原因。
实验二图像的增强
一、实验目的
1)掌握在计算机上进行直方图统计,以及直方图均衡化、线性变换的图像增强的方法
2)掌握在计算机上进行图象平滑、图象锐化特别是中值滤波平滑及拉普拉斯算子锐化的方法
二、实验要求
1)显示图像(cameraman.tif)及灰度直方图。
2)对指定图像(cameraman.tif)进行直方图均衡化和线性变换,将原始图像及增强后的图像都显示于屏幕上,比较增强的效果。
3)对指定图像(lena.bmp)加入椒盐噪声,然后进行邻域平滑、中值滤波,将原始图像及平滑后的图像都显示于屏幕上,比较效果。
4)对指定图像(lena.bmp)进行锐化(简单梯度算法、ROBERT算子,Prewitt边缘算子和拉普拉斯算子),将原始图像及锐化后的图像都显示于屏幕上,比较锐化的效果。
三、实验仪器设备及软件
HPD538、MATLAB
四、实验原理
是一种逐像素点对图像进行变换增强,也称为图像的点运算(一对一变换)。
g(x,y)=T[f(x,y)]
度变换可以选择不同的灰度变换函数,如正比函数和指数函数等。
常用的灰度变换函数主要有:
线性灰度变换
分段线性灰度变换
非线性灰度变换
将输入图像(原始图像)灰度值的动态范围按线性关系公式拉伸扩展至指定范围或整个动态范围。
线性拉伸采用的变换公式一般为:
g(x,y)=f(x,y).C+R
C、R的值由输出图像的灰度值动态范围决定。
假定原始输入图像的灰度取值范围为[fmin,fmax],输出
图像的灰度取值范围[gmin,gmax],其变换公式为
线性拉伸示意图
线性拉伸是将原始输入图像中的灰度值不加区别地
扩展。
而在实际应用中,为了突出图像中感兴趣的研究对象,常常要求局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸。
分段线性拉伸是仅将某一范围的灰度值进行拉伸,而其余范围的灰度值实际上被压缩了
常用的几种分段线性拉伸的示意图:
其对应的变换公式如下:
给定一个二维连续函数f(x,y),它在点(x,y)的梯度是一个矢量,定义为:
梯度的重要特点:
A.矢量grad[f(x,y)]指向f(x,y)的最大增长率的方向。
B.矢量grad[f(x,y)]的幅度和方向为:
对于离散图像处理f(i,j),常用到梯度的大小(幅度),因此把梯度的大小习惯称为“梯度”。
并且一阶偏导数采用一阶差分近似表示,即
fx’=f(i+1,j)-f(i,j)fy’=f(i,j+1)-f(i,j)
根据梯度计算式就可以计算Roberts、Prewitt和Sobel梯度。
一旦梯度算出后,就可根据不同的需要生成不同的梯度增强图像。
锐化算子的模板实质上可以看做是一种高通滤波器。
因此,图像锐化在增强图像边界和细节的同时,也加强了图像中的噪声。
进行图像锐化处理的图像应有较高的信噪比,否则,锐化后信噪比会更低
五、实验步骤及程序
(1)I=imread('cameraman.tif');%读入图像
subplot(2,2,1);
imshow(I);
title('cameraman');%显示图像,并命名为cameraman
subplot(2,2,2);
imhist(I);
title('直方图');%显示灰度直方图
subplot(2,2,3);
J=histeq(I);
imshow(J);
title('直方图均衡化');%灰度直方图均衡化
subplot(2,2,4);
K=imadjust(I,[0.4,0.6],[]);%进行线性变化
imshow(K);
title('线性变换')%显示线性变化的结果
(2)I=imread('lena.bmp');%读入图像
J=imnoise(I,'salt&pepper',0.04);
subplot(2,2,1);
imshow(I);%显示源图像
title('lena');
subplot(2,2,2);
imshow(J);%显示加入椒盐躁声的图像
title('加入椒盐躁声');
K=medfilt2(J);%对图像进行中值滤波
subplot(2,2,3);
imshow(K);%显示中值滤波后的图像
title('中值滤波');
subplot(2,2,4);
H1=ones(3)/9;
G=conv2(J,H1);%对图像进行领域平滑
imshow(G,[]);%显示领域平滑后的图形
title('邻域平滑')
(3)I=imread('lena.bmp');%读入lena图像
subplot(321)
imshow(I)%显示源图像
title('lena')%标题为lena
subplot(322)
I=double(I);
[Gx,Gy]=gradient(I);
G=sqrt(Gx.*Gx+Gy.*Gy);%利用简单梯度法进行图像锐化
O=G