matlab图像处理,对一幅图像做傅里叶变换,去掉细节部分留下轮廓部分,是去掉高频还是低频
刚刚试过,其实不用转化为灰度图像都可以,fft2其实可以对三维的图像直接进行变换img=imread('J:\鲁棒性检测资料\2_IMG_0001.JPG');subplot(1,2,1)
imshow(img);s=fft2(img);ss=real(ifft2(s));sss=unit8(ss);subplot(1,2,2);
imshow(sss) 这样就可以得到恢复的原彩色图像,其实转化为灰度图像之所以再逆变换得不到源图像,是因为转化回来的数据是double型,转化为uint8类型即可~
冈萨雷斯版<图像处理>里面的解释非常形象:一个恰当的比喻是将傅里叶变换比作一个玻璃棱镜。棱镜是可以将光分解为不同颜色的物理仪器,每个成分的颜色由波长(或频率)来决定。
傅里叶变换可以看作是数学上的棱镜,将函数基于频率分解为不同的成分。当我们考虑光时,讨论它的光谱或频率谱。同样, 傅立叶变换使我们能通过频率成分来分析一个函数。
图像傅立叶变换的物理意义
图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。如:大面积的沙漠在图像中是一片灰度变化缓慢的区域,对应的频率值很低;而对于地表属性变换剧烈的边缘区域在图像中是一片灰度变化剧烈的区域,对应的频率值较高。傅立叶变换在实际中有非常明显的物理意义,设f是一个能量有限的模拟信号,则其傅立叶变换就表示f的谱。从纯粹的数学意义上看,傅立叶变换是将一个函数转换为一系列周期函数来处理的。从物理效果看,傅立叶变换是将图像从空间域转换到频率域,其逆变换是将图像从频率域转换到空间域。换句话说,傅立叶变换的物理意义是将图像的灰度分布函数变换为图像的频率分布函数,傅立叶逆变换是将图像的频率分布函数变换为灰度分布函数
傅立叶变换以前,图像(未压缩的位图)是由对在连续空间(现实空间)上的采样得到一系列点的集合,我们习惯用一个二维矩阵表示空间上各点,则图像可由z=f(x,y)来表示。由于空间是三维的,图像是二维的,因此空间中物体在另一个维度上的关系就由梯度来表示,这样我们可以通过观察图像得知物体在三维空间中的对应关系。为什么要提梯度?因为实际上对图像进行二维傅立叶变换得到频谱图,就是图像梯度的分布图,当然频谱图上的各点与图像上各点并不存在一一对应的关系,即使在不移频的情况下也是没有。傅立叶频谱图上我们看到的明暗不一的亮点,实际上图像上某一点与邻域点差异的强弱,即梯度的大小,也即该点的频率的大小(可以这么理解,图像中的低频部分指低梯度的点,高频部分相反)。一般来讲,梯度大则该点的亮度强,否则该点亮度弱。这样通过观察傅立叶变换后的频谱图,也叫功率图,我们首先就可以看出,图像的能量分布,如果频谱图中暗的点数更多,那么实际图像是比较柔和的(因为各点与邻域差异都不大,梯度相对较小),反之,如果频谱图中亮的点数多,那么实际图像一定是尖锐的,边界分明且边界两边像素差异较大的。对频谱移频到原点以后,可以看出图像的频率分布是以原点为圆心,对称分布的。将频谱移频到圆心除了可以清晰地看出图像频率分布以外,还有一个好处,它可以分离出有周期性规律的干扰信号,比如正弦干扰,一副带有正弦干扰,移频到原点的频谱图上可以看出除了中心以外还存在以某一点为中心,对称分布的亮点集合,这个集合就是干扰噪音产生的,这时可以很直观的通过在该位置放置带阻滤波器消除干扰
另外我还想说明以下几点:
1、图像经过二维傅立叶变换后,其变换系数矩阵表明:
若变换矩阵Fn原点设在中心,其频谱能量集中分布在变换系数短阵的中心附近(图中阴影区)。若所用的二维傅立叶变换矩阵Fn的原点设在左上角,那么图像信号能量将集中在系数矩阵的四个角上。这是由二维傅立叶变换本身性质决定的。同时也表明一股图像能量集中低频区域。
2 、变换之后的图像在原点平移之前四角是低频,最亮,平移之后中间部分是低频,最亮,亮度大说明低频的能量大(幅角比较大)
%下面是一段做fft变换的程序;至于秩的问题,试一下就知道了。
im=imread('c:\1.bmp'); %读入图像
imshow(im);
[m,n]=size(im);
F=fftshift((fft2(double(im))));
m1=floor(m/2);
n1=floor(n/2);
d0=20;
for u=1:m
for v=1:n
d(u,v)=sqrt((u-m1)^2+(v-n1)^2);
if d(u,v)<d0
h(u,v)=1;
else
h(u,v)=0;
end
g(u,v)=h(u,v)*F(u,v);
end
end
butterfilter=ifft2(ifftshift(g));
figure,imshow(uint8(butterfilter));
matelable是什么软件
应为“Matlab”软件,是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域,ATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算...
新人求助matlab安装包做毕设要用
1、采集数据 利用 MATLAB,可以从文件、其他应用程序、数据库以及外部设备访问数据。您可以从各种常用 文件格式(如 Microsoft Excel、文本或二进制文件、图像、语音和视频文件)以及诸如 netCDF 和 HDF 等科学文件中读取数据。借助文件 I\/O 函数,可以处理任意格式的数据文件。2、分析数据 利用 MATLAB,...
简述idl功能?idl 与matlab有何异同点
1.我要讨论的是matlab、IDL、fortran、C这4件事。因为他们能够共同地干一件事:计算。2.实际上把他们四个放在一起说很诡异的,因为这完全不是一码事,就有点像拿word和pdf作比较一样不明真相。但是大家都这么说,那我也勉强比比看。3.前两者可以归为一个子类,matlab和idl都是一种交互式、可视化...
matelable是什么软件
应为“Matlab”软件,是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域,ATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算...
matelable做什么的
matelable软件,是美国MathWorks公司出品的商业数学软件。用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域,ATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。...
数学建模一定要用matlab吗
不一定要用matlab。也可以用python,C,C+,使用自己熟练的就可以。知识科普:ATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室...
数学建模一定要用matlab吗
不一定要用matlab。也可以用python,C,C+,使用自己熟练的就可以。知识科普:ATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室...
matelable虚线圆圈怎么表达
matelable软件,是美国MathWorks公司出品的商业数学软件。用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域,ATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。