精华内容
下载资源
问答
  • 空域到频域变换
    2020-07-30 10:51:41

    (1)图像在空间域上表现为一个个的像素点,而这些像素点对应的也相当于离散的二维信号,所以要将空域转化为频域,需要将离散的二维信号利用二维傅里叶变换转化为二维坐标上的幅值变化。

    (2)从一维到二维的转化:

            在一维上,离散的多个信号组成时域上的函数,那么根据傅里叶可知,一个函数可由多个正余弦函数表示,这样就将时域上的函数分解成多个正余弦函数,通过提取多个正余弦函数的幅值就可以得到频域图像。傅里叶函数相当于光学上的棱镜,我们通过分析频率就可以分析每个正余弦函数。


             那么在二维上,将二维坐标分解为两个一维坐标来分别表征X和Y轴上的灰度值变化,通过傅里叶变化分别来表征X和Y轴上的幅值(梯度)变化,将X和Y方向的幅值变化进行加和得到最终的二维上的幅值变化。

            离散的多个数字图像信号在频率域上表征为梯度变化:magritude---梯度

               在二维上,将梯度表征为图像的灰度值大小,梯度值越大则在下列图像中越暗,从上到下的投影就可以得到,为了便于观察,将图像进行反转,得到 iAfter,那么在 iAfter中离中心点越近频率越小,反之频率越大。

    更多相关内容
  • (4)图像的空域频域变换

    千次阅读 2019-09-28 09:44:25
    (1)图像在空间域上表现为一个个的像素点,而这些像素点对应的也相当于离散的二维信号,所以要将空域转化为频域,需要将离散的二维信号利用二维傅里叶变换转化为二维坐标上的幅值变化。 (2)从一维二维的转化:...

    (1)图像在空间域上表现为一个个的像素点,而这些像素点对应的也相当于离散的二维信号,所以要将空域转化为频域,需要将离散的二维信号利用二维傅里叶变换转化为二维坐标上的幅值变化。

    (2)从一维到二维的转化:

            在一维上,离散的多个信号组成时域上的函数,那么根据傅里叶可知,一个函数可由多个正余弦函数表示,这样就将时域上的函数分解成多个正余弦函数,通过提取多个正余弦函数的幅值就可以得到频域图像。傅里叶函数相当于光学上的棱镜,我们通过分析频率就可以分析每个正余弦函数。


             那么在二维上,将二维坐标分解为两个一维坐标来分别表征X和Y轴上的灰度值变化,通过傅里叶变化分别来表征X和Y轴上的幅值(梯度)变化,将X和Y方向的幅值变化进行加和得到最终的二维上的幅值变化。

            离散的多个数字图像信号在频率域上表征为梯度变化:magritude---梯度

               在二维上,将梯度表征为图像的灰度值大小,梯度值越大则在下列图像中越暗,从上到下的投影就可以得到,为了便于观察,将图像进行反转,得到 iAfter,那么在 iAfter中离中心点越近频率越小,反之频率越大。

    参考:https://www.cnblogs.com/xianglan/archive/2010/12/30/1922386.html

    https://bbs.csdn.net/topics/390812541

     

     

     

     

    展开全文
  • FFT还可以做卷积: 将图像和卷积模板都进行正变换到频率域 将两者在再频域直接进行相乘运算 再反变换到空间域作为输出 频域变换过程时刻牢记下图: 分割线 如果深入理解后,可以观看3Blue1Brown的视频:【官方双语...

    2021年10月21日10:24:05
    占坑,这周五图像处理课讲完PPT后填。

    2021年10月22日21:07:55 -> 讲课完毕

    数字图像处理、图像恢复,噪声去除PPT

    图像处理课课件,包含图像恢复、噪声去除部分内容及相关注解
    链接: https://pan.baidu.com/s/1wBfXM0ZrSw3O221GUShVtw  密码: 424w
    --来自百度网盘超级会员V5的分享
    

    分割线


    说明:在准备课件上台讲解的时候,为去除周期性噪声,需在频域上进行操作;所以在网上查看了许多视频博客知乎等,有了初步的理解,现在将收集的资料整理出来,并发布到博客,在网上参考的地方,我会一一给出参考,方便其它同学快速理解将图像从空域到频域转换的这个过程,也提供一些比较好的博文及视频,希望能对你有参考作用!


    1、图像空域到频域的转换

    以下内容来自BILIBILI的一个非常棒的视频:《P04 图像的快速傅里叶变换及其应用,作者:flybirdAI》

    说明:图像和公式来自此视频中的截图,此视频讲的非常的好,清晰明了,对于空域到频域的转换,不涉及代码的话看前28分钟就足够了!

    频域变换一般过程:

    原图->DFT/FFT(正变换)->中心化->频域显示(处理)->去中心化->IDFT/IFFT(反变换)->原图
    

    From Bilibili
    图像高频:亮度或灰度变化激烈的部分,如边缘和轮廓
    图像低频:变化不大或变化较为平缓的地方,如大块的结构

    DFT(离散傅里叶变换):Discrete Fourier transform
    FFT(快速傅里叶变换):Fast Fourier transform

    二维图像(M行N列)
    正变换:
    F ( u , v ) = ∑ x = 0 M − 1 ∑ y = 0 N − 1 f ( x , y ) e − j 2 π ( u x / M + v y / N ) F(u, v)=\sum_{x=0}^{M-1} \sum_{y=0}^{N-1} f(x, y) e^{-j 2 \pi(u x / M+v y / N)} F(u,v)=x=0M1y=0N1f(x,y)ej2π(ux/M+vy/N)

    反变换: f ( x , y ) = 1 M N ∑ u = 0 M − 1 ∑ v = 0 N − 1 F ( u , v ) e j 2 π ( u x / M + v y / N ) f(x, y)=\frac{1}{M N} \sum_{u=0}^{M-1} \sum_{v=0}^{N-1} F(u, v) e^{j 2 \pi(u x / M+v y / N)} f(x,y)=MN1u=0M1v=0N1F(u,v)ej2π(ux/M+vy/N)

    其中下式为欧拉公式:
    e j θ = cos ⁡ ( θ ) + j sin ⁡ ( θ ) e^{j \theta}=\cos (\theta)+j \sin (\theta) ejθ=cos(θ)+jsin(θ)

    频域分析就是对F(u,v)进行操作:
    在这里插入图片描述
    由于共轭对称性:可对FFT变换的结果再进行FFT变换得到IFFT(I指的是反变换,IFFT反快速傅里叶变换,将图像从频域转换到空域)

    注:傅里叶谱通过对log(1+F|(u,v)|)表示,另外自行频率分析时,也往往将频率窗口移动窗口中心处。

    FFT还可以做卷积:

    1. 将图像和卷积模板都进行正变换到频率域
    2. 将两者在再频域直接进行相乘运算
    3. 再反变换到空间域作为输出

    频域变换过程时刻牢记下图:
    在这里插入图片描述


    分割线

    如果深入理解后,可以观看3Blue1Brown的视频:【官方双语】形象展示傅里叶变换


    2、代码实现傅里叶变换

    代码:【原文博客:python的numpy库和cv2库实现图像傅里叶变换】

    # writer:wojianxinygcl@163.com
    
    # date  : 2020.3.30 
    
    # 原文地址 : https://www.cnblogs.com/wojianxin/p/12530172.html
    
    
    import cv2
    import numpy as np
    from matplotlib import pyplot as plt
    
    
    def fft_cv(img):
        """
        用cv进行傅里叶变换
        :param img:
        :return:
        """
    
        # 傅里叶变换
    
        dft = cv2.dft(np.float32(img), flags=cv2.DFT_COMPLEX_OUTPUT)
    
        dftshift = np.fft.fftshift(dft)
    
        res1 = 20 * np.log(cv2.magnitude(dftshift[:, :, 0], dftshift[:, :, 1]))
    
        # 傅里叶逆变换
    
        ishift = np.fft.ifftshift(dftshift)
    
        iimg = cv2.idft(ishift)
    
        res2 = cv2.magnitude(iimg[:, :, 0], iimg[:, :, 1])
    
        # 显示图像
    
        plt.subplot(131), plt.imshow(img, 'gray'), plt.title('Original Image')
    
        plt.axis('off')
    
        plt.subplot(132), plt.imshow(res1, 'gray'), plt.title('Fourier Image')
    
        plt.axis('off')
    
        plt.subplot(133), plt.imshow(res2, 'gray'), plt.title('Inverse Fourier Image')
    
        plt.axis('off')
    
        plt.show()
    
    
    def fft_numpy(img):
        """
        用numpy对图像进行傅里叶变换
        """
        # 傅里叶变换
    
        f = np.fft.fft2(img)
    
        fshift = np.fft.fftshift(f)
    
        res = np.log(np.abs(fshift))
    
        # 傅里叶逆变换
    
        ishift = np.fft.ifftshift(fshift)
    
        iimg = np.fft.ifft2(ishift)
    
        iimg = np.abs(iimg)
    
        # 展示结果
    
        plt.subplot(131), plt.imshow(img, 'gray'), plt.title('Original Image')
    
        plt.axis('off')
    
        plt.subplot(132), plt.imshow(res, 'gray'), plt.title('Fourier Image')
    
        plt.axis('off')
    
        plt.subplot(133), plt.imshow(iimg, 'gray'), plt.title('Inverse Fourier Image')
    
        plt.axis('off')
    
        plt.show()
    
    
    if __name__ == '__main__':
        # 读取图像
        img = cv2.imread('LENA256.BMP', 0)  # 读取灰度图
        fft_numpy(img)  # 使用numpy进行变换
        # fft_cv(img)   # 使用cv进行变化
    
    
    Lena标准测试图: https://pan.baidu.com/s/1FGAYFsNaPR7XuKbL6aTnhQ  密码: m19a
    --来自百度网盘超级会员V5的分享
    

    结果:
    在这里插入图片描述


    3、如何分析频谱图,知识点总结:

    参考以下博客:

    1. 【傅里叶分析之掐死教程(完整版)更新于2014.06.06】
    2. 【通俗讲解:图像傅里叶变换】
    3. 【傅立叶变换频谱图怎么看?cccw的问题回答】
      在这里插入图片描述

    我的总结:

    1.图2是转换到频域二维可视化的结果,称作频谱图

    2.由于频谱动态范围很大,所以用log变换降低频谱的动态范围

    3.图1为空域:f(x, y) , 图2为频域:H(u, v),中心化之后的结果,频谱图的正中心点为H(0,0),图像大小与原图相同

    4.图1和图2相同位置的点没啥直接的对应关系,右边的每一个点可以理解为所描述的是一种平面波,它是构成左边图无数个波面中的一个,它与左边的每一个点都相关

    一个曲面可以有很多个正弦平面波组成,二维正弦平面波,可以用以下4个参数来描述它:频率、幅度、相位、方向

    所有波都可以用多个正弦波叠加;波又可以通过频率、幅值和方向来表示(频谱图中相位信息被舍弃)

    5.图2中的每一个点:
    它到中点的距离描述的是频率
    中点到它的方向是构成平面波的方向
    那一点的灰度值描述的是它的幅值

    6.频谱图里面描述的信息有:频率f,振幅A,方向n

    7.每一个频谱图中的点它不是实数,是一个虚数,a+bi,为二维可视化,计算的是它的绝对值

    8.点点越亮代表这个数值越大,点点越暗代表这个数值越小(幅值的大小)


    2021年11月02日16:35:09===========================带通/带阻滤波器===========================

    带通/带阻滤波器

    如下图所示,左图是被周期性正弦噪声所污染的图像,右图是去噪后的结果,想要在空域去除这样的噪声是很困难的,但是在频域上确能很轻松的进行操作。
    在这里插入图片描述

    带阻滤波器可以移除图像中特定的频率范围,从而很轻松的去除周期性噪声。

    简单解释带阻滤波器以及带通滤波器:

    • 带阻滤波器:带阻,阻就是阻止,阻止特定的频率范围通过
    • 带通滤波器:带通,通就是通过,只允许特定的频率范围通过

    由上简单的定义可知,带阻滤波器和带通滤波器可以相互转换,是一种互补的关系,带阻滤波器取反就是带通滤波器,带通滤波器取反就是带阻滤波器。

    理想的带阻滤波器定义如下:

    H ( u , v ) = { 1  if  D ( u , v ) < D 0 − W 2 0  if  D 0 − W 2 ≤ D ( u , v ) ≤ D 0 + W 2 1  if  D ( u , v ) > D 0 + W 2 H(u, v)=\left\{\begin{array}{ll} 1 & \text { if } D(u, v)<D_{0}-\frac{W}{2} \\ 0 & \text { if } D_{0}-\frac{W}{2} \leq D(u, v) \leq D_{0}+\frac{W}{2} \\ 1 & \text { if } D(u, v)>D_{0}+\frac{W}{2} \end{array}\right. H(u,v)=101 if D(u,v)<D02W if D02WD(u,v)D0+2W if D(u,v)>D0+2W
    【参考博客】:数字图像处理与python实现-带通滤波器
    带阻滤波器,如下图3(第二排第一个),理想的带阻滤波器的定义如上,D(u,v)为频域中任意一点到中心点的距离,D0代表带阻滤波器的半径(从中心到带阻滤波器第一个内圈和第一个外圈之间的中间位置),W代表带阻滤波器的带宽(内圈到外圈的距离),上述公式代表的就是带阻滤波器,含义就是带阻滤波器带宽范围内的部分:不允许它通过,带阻滤波器带宽范围外的地方保持不变,可视化的结果如下图3。

    在这里插入图片描述
    图像从上到下,从左到右分别表示图1:周期性正弦噪声污染的图像;图2:图1转换的频域的结果;图3:理想带阻滤波器;图4:在频域去除周期性噪声后转换到空域的结果

    如何使用带阻滤波器

    1. 将图像1转换到频域,如图2,图1周期性正弦噪声在频域可视化的结果,表现在图2上就是围绕中心一圈分布均匀亮亮的8个小点点
    2. 去掉周期性噪声,就是去掉这些小点点
    3. 设计合适的带阻滤波器,如图3,黑色部分设为0,白色部分设为1,与图2的大小相同,两幅图像进行哈达玛积(对应点相乘)->得到结果(带阻滤波器带宽上的点都被置为0了,周期性噪声点在带宽内也被置为0,消除掉了)
    4. 然后将第三步去噪后的结果,通过IFFT反快速傅里叶变换还原到空域,得到最终结果图4
    展开全文
  • 空域(时域)难以分析处理的信号通过一个简单的傅里叶变换到频域就可以十分容易的处理。随着计算机技术的发展,计算傅里叶光学的分析方法也逐渐成为了信号处理的宠儿,备受关注,本系列文章将结合解析傅里叶光学与...

    0.前言

       这篇文章是整个系列第二篇,重点在于了解频谱的概念、空域坐标、时域坐标,以及空时域到频域坐标的变换,针对坐标问题,给出了相关得示例。下一篇文章讲述傅里叶变换的基本性质以及对应仿真代码的实现,并将会对一些光现象进行分析和解释。如果你是小白,建议从第一篇文章开始阅读
    傅里叶光学&MATLAB编程系列【1】基本函数


    1. 傅里叶级数

    1.1 来源介绍

    \qquad 对数学不感兴趣的读者可以跳过该部分,毕竟听到级数这两个字,我心里都难免一惊,这一切都得从大一时一本叫做高等数学的书说起,在这本书里面有很多让我们十分喜爱(痛恨 )的人,比如傅里叶和泰勒,他们的核心思想就是说满足一定条件的函数均可分解,傅里叶说可以分解为很多个正弦函数,泰勒说可以分解成幂函数
    \qquad 傅里叶认为,如果函数 f ( x ) f(x) f(x)是一个周期为 T T T的函数,且满足一定条件,那么它就可以分解为傅里叶级数

    f ( x ) = a 0 + ∑ n = 1 ∞ [ a n s i n ( 2 π n x T ) + b n c o s ( 2 π n x T ) ] (1) f(x)=a_0+\sum_{n=1}^\infty[ a_nsin(\frac{2\pi nx}{T}) +\\ b_n cos(\frac{2\pi nx}{T})] \tag{1} f(x)=a0+n=1[ansin(T2πnx)+bncos(T2πnx)](1)

    \qquad 在上面公式中的系数 a 0 、 a n a_0 、 a_n a0an以及 b n b_n bn叫傅里叶系数。因为正弦、余弦函数是正交完备的,即不同周期的两个正余弦函数相乘之后在一个周期内积分为0,上式两边同时在一个周期内积分就可以消掉后面的求和部分,得到

    a 0 = 1 T ∫ − T 2 − T 2 f ( x ) d x (2) a_0 =\frac{1}{T} \int_{-\frac{T}{2}} ^{-\frac{T}{2}}f(x)dx \tag{2} a0=T12T2Tf(x)dx(2)

    同时剩上 s i n ( 2 π n x T ) sin(\frac{2\pi nx}{T}) sin(T2πnx)之后在一个周期内积分就可以消掉 b n b_n bn得到

    a n = 1 T ∫ − T 2 − T 2 f ( x ) s i n ( 2 π n x T ) d x (3) a_n =\frac{1}{T} \int_{-\frac{T}{2}} ^{-\frac{T}{2}}f(x) sin(\frac{2\pi nx}{T})dx \tag{3} an=T12T2Tf(x)sin(T2πnx)dx(3)

    同时剩上 c o s ( 2 π n x T ) cos(\frac{2\pi nx}{T}) cos(T2πnx)之后在一个周期内积分就可以消掉 a 0 a_0 a0 a n a_n an得到

    b n = 1 T ∫ − T 2 − T 2 f ( x ) c o s ( 2 π n x T ) d x (4) b_n =\frac{1}{T} \int_{-\frac{T}{2}} ^{-\frac{T}{2}}f(x) cos(\frac{2\pi nx}{T})dx \tag{4} bn=T12T2Tf(x)cos(T2πnx)dx(4)

    1.2傅里叶级数到频谱

    \qquad 傅里叶级数到频谱的变换需要应用一个熟悉的欧拉公式

    e j x = c o s ( x ) + j s i n ( x ) (5) e^{jx}=cos(x)+jsin(x) \tag{5} ejx=cos(x)+jsin(x)(5)

    x x x变成 − x -x x得到

    e − j x = c o s ( x ) − j s i n ( x ) (6) e^{-jx}=cos(x)-jsin(x) \tag{6} ejx=cos(x)jsin(x)(6)

    将式(5)和式(6)相加、相减之后除于2得到

    c o s ( x ) = e j x + e − j x 2 s i n ( x ) = e j x − e − j x 2 j (7) cos(x)=\frac{e^{jx}+e^{-jx}}{2} \\ sin(x)=\frac{e^{jx}-e^{-jx}}{2j} \tag{7} cos(x)=2ejx+ejxsin(x)=2jejxejx(7)

    将式(7)代入式(1)得到

    f ( x ) = a 0 + ∑ n = 1 ∞ [ 1 2 ( a n − j b n ) e j 2 π n x T + 1 2 ( a n + j b n ) e − j 2 π n x T (8) f(x)=a_0+\sum_{n=1}^\infty[ \frac{1}{2}(a_n-jb_n) e^{j\frac{2\pi nx}{T}}+\\ \frac{1}{2}(a_n+jb_n) e^{-j\frac{2\pi nx}{T}} \tag{8} f(x)=a0+n=1[21(anjbn)ejT2πnx+21(an+jbn)ejT2πnx(8)

    c 0 = a 0 , c n = 1 2 ( a n − j b n ) , c n ∗ = 1 2 ( a n + j b n ) c_0=a_0,c_n= \frac{1}{2}(a_n-jb_n),c_n^*=\frac{1}{2}(a_n+jb_n) c0=a0,cn=21(anjbn),cn=21(an+jbn),上式的傅里叶级数就可以改写成

    f ( x ) = ∑ n = − ∞ ∞ c n e j 2 π n x T (9) f(x)=\sum_{n=-\infty}^\infty{ c_n e^{j\frac{2\pi nx}{T}} } \tag{9} f(x)=n=cnejT2πnx(9)

    将上式两边乘上 e j − 2 π n x T e^{j\frac{-2\pi nx}{T}} ejT2πnx,并在 [ − T 2 , T 2 ] [-\frac{T}{2},\frac{T}{2}] [2T,2T]积分得到

    c n = 1 T ∫ − T 2 − T 2 f ( x ) e j − 2 π n x T d x (10) c_n=\frac{1}{T} \int_{-\frac{T}{2}} ^{-\frac{T}{2}}f(x) e^{j\frac{-2\pi nx}{T}}dx \tag{10} cn=T12T2Tf(x)ejT2πnxdx(10)

    看到上面的公式,是不是觉得很熟悉,其实就是傅里叶变换的基本定义式。其中, 1 T \frac{1}{T} T1叫做 f ( x ) f(x) f(x)的基频,可以用 Δ u \Delta u Δu表示, u u u叫做函数 f ( x ) f(x) f(x)的谐频。

    2. 频谱的概念

      一个物理量可以在空间域 x x x f ( x ) f(x) f(x)描述,可以在时间域 t t t f ( t ) f(t) f(t)来描述
    相应地,将其变换到频域内, 也可以在空间频率域或者时间频率域 c n c_n cn来描述。这里的 c n c_n cn与公式(10)中的一致,由于 c n c_n cn表示频率为的谐波成分的复振幅,所以将 c n c_n cn按频率的分布图形称为 f ( x ) f(x) f(x)的频谱。由于 c n c_n cn一般是复函数,所以 c n c_n cn的模值 c n c_n cn随频率的分布图叫做 f ( x ) f(x) f(x)的振幅频谱,而 c n c_n cn的辐角随的分布图叫 做 f ( x ) f(x) f(x)的位相频谱。

    3. 空域、时域及对应的坐标

    3.1 一维离散空域坐标

      空域坐标用 x x x表示。在空域的描述是函数 f ( x ) f(x) f(x)随着空域坐标 x x x的变化,这里可以参考第一篇文章的相关内容:
    矩形函数为例分析,需要在一个长为无穷大,宽为10mm的黑屏上开出一条宽为1mm的缝,应该如何描述黑屏的透过率 f ( x , y ) f(x,y) f(x,y)随空间坐标 x 、 y x、y xy的变换呢?在分析这一类问题时,首先需要建立坐标系,然后确定主要参数。比如,以x坐标表示宽,y坐标表示长,屏中心为原点建立坐标系,如下图所示:
    在这里插入图片描述

    1. 分析问题:观察上图,我们可以发现屏的透过率不随坐标 y y y变化
      所以这个问题就变成了一维的问题
    1. 确定物的尺寸L:根据1可知,只分析x方向就行了。=物体的宽=度L的取值范围为[-5,5]mm。
    1. 矩形函数的宽度W:矩形孔的宽度W的取值范围为 [-0.5,0.5]mm。
    1. 采样数目M:M是所需要的采样点数,也就是创建的向量长度,这里不做多余考虑,取M为500😭事实上,采样的点数不能过少,根据奈奎斯特采样定律,采样太少,会发生混叠,信号失真,矩孔函数信号部分10个点以上,即 M ≥ 100 M\geq100 M100即可
    1. 采样间隔 Δ x = L / m = 10 / 500 = 0.02 m m \Delta x=L/m=10/500=0.02mm Δx=L/m=10/500=0.02mm;
    1. 坐标x: x ∈ [ − L / 2 : Δ x : L / 2 − Δ x x\in[-L/2:\Delta x:L/2-\Delta x x[L/2:Δx:L/2Δx]

    对上面的例子分析过后就可以利用matlab绘制图形了,代码如下:

    clc;
    clear;
    close all;%matlab的素质三连
    
    L=10;%物体宽10mm
    wx = 1;%缝宽1mm
    M=500;%采样点数500
    dx=L/M;%采样间隔
    x=-L/2:dx:L/2-dx;%一维空间坐标
    fx=(abs(x)<wx/2);
    figure(1)
    plot(x,fx);
    

    在这里插入图片描述

    3.2 二维离散空域坐标

       同样考虑上面提到的问题,如果我想要在一个长为50mm,宽为10mm的黑屏上开出一条长为5mm,宽为1mm的缝,应该如何描述黑屏的透过率 f ( x , y ) f(x,y) f(x,y)随空间坐标 x 、 y x、y xy的变换呢?
       一维到二维的问题很简单就可以依靠matlab提供的函数解决,因为一般初等函数都是可以分离变量的,即

    f ( X , Y ) = f ( X ) ∗ f ( Y ) (11) f(X,Y)=f(X)*f(Y) \tag{11} f(X,Y)=f(X)f(Y)(11)

    也就是可以分开考虑x和y。在建立坐标系之后,得到一维坐标 ( x , y ) (x,y) (x,y),然后用MATLAB提供的meshgrid函数就可以得到二维的坐标 ( X , Y ) (X,Y) (X,Y),再用二维坐标求 f ( X ) f(X) f(X) f ( Y ) f(Y) f(Y),相乘得到 f ( X , Y ) f(X,Y) f(X,Y)。代码如下:

    clc;
    clear;
    close all;
    
    long = 50;%50mm
    wide = 10;%10mm
    wx=5;%孔长5mm
    wy=1;%孔宽1mm
    
    M=500;%采样点数
    dx=long/M;%x方向采样间隔
    dy=wide/M;%y方向采样间隔
    
    x=-long/2:dx:long/2-dx;
    y=-wide/2:dy:wide/2-dy;
    
    [X,Y] = meshgrid(x,y);
    fX=abs(X)<wx/2;
    fY=abs(Y)<wy/2;
    fXY = fX.*fY;
    mesh(x,y,fXY);
    colorbar;
    

    在这里插入图片描述

    3.1 一维离散时域坐标

       时域坐标t(单位:s)通常用来描述信号得传输,无论是光信号还是通讯信号得秒速都离不开。根据傅里叶提出的分解思想,任何函数的基本模型都可以用正余弦函数描述,假设信号频率为 ω \omega ω(单位:Hz),振幅为 A m Am Am,初位相为 φ \varphi φ那么这个信号可以描述为

    f ( t ) = A m ∗ s i n ( 2 π ω t + φ ) (12) f(t)=Am*sin(2 \pi \omega t+\varphi) \tag{12} f(t)=Amsin(2πωt+φ)(12)

    在描述这个信号之前,通常需要考虑几个问题。

    1. 确定信号的时间长度。因为计算机的信息存储能力和计算能力有限,不可能直接描述信号在所有时间内的变化,通常情况下都只是取某一段时间 [ t 0 , t 1 ] [t_0,t_1] [t0t1]内的信号进行描述。
    2. 确定采样频率。这个问题可以用奈奎斯特采样定律解决,采样频率fs(单位:Hz)至少是 2 ω 2\omega 2ω才不会发生信号混叠现象
    3. 确定信号坐标。根据采样频率fs可以确定采样时间间隔为 Δ t = 1 / f s \Delta t=1/fs Δt=1/fs,时间坐标可以为 t = t 0 : Δ t : t 1 − Δ t t = t_0:\Delta t:t_1-\Delta t t=t0:Δt:t1Δt。其中, t 0 t_0 t0表示开始时刻, t 1 t_1 t1表示结束时刻。
    4. 描述信号。根据式(12)在matlab内绘图描述与观察。

    举个例子,假设信号频率为 ω = 10 M \omega=10M ω=10M(单位:Hz),振幅为 A m = 1 Am=1 Am=1,初位相为 φ = 0 \varphi=0 φ=0,按照上述步骤分析:

    1. 确定信号的时间长度。取一段时间[0,1] μ s \mu s μs内的信号进行描述。
    2. 确定采样频率取采样频率fs=300M(单位:Hz),是 ω \omega ω的30倍,满足奈奎斯特采样定律,
    3. 确定信号坐标。根据采样频率fs可以确定采样时间间隔为 Δ t = 1 / f s \Delta t=1/fs Δt=1/fs,时间坐标可以为 t = 0 : Δ t : 1 e − 6 − Δ t t =0:\Delta t:1e^{-6}-\Delta t t=0:Δt:1e6Δt
    4. 描述信号。根据式(12)在matlab内绘图,代码如下:
    clc;
    clear;
    close all;
    
    t0 = 0;%开始时刻
    t1 = 1e-6;%结束时刻
    w = 10e6;%信号频率
    fs = 300e6;%采样频率;
    dt = 1/fs;%采样时间间隔
    t = t0:dt:t1-dt;%时间坐标;
    
    Am = 1;%信号幅度
    varphi = 0;%初相位
    ft = Am*sin(2*pi*w*t);
    figure(1)
    plot(t,ft);
    

    在这里插入图片描述

    4. 空域、时域坐标到频域坐标

    4.1 空间频域坐标

      在分析信号频谱的时候,频域坐标是相当重要的,它会直接告诉你信号的组成成分。空域坐标用 x x x表示,其对应的频域坐标可以用 f x fx fx表示。如果知道了空域的坐标,其频域的坐标就可以计算出来,如果空域坐标

    x ∈ [ − L / 2 : Δ x : L / 2 − Δ x ] (13) x\in[-L/2:\Delta x:L/2-\Delta x] \tag{13} x[L/2:Δx:L/2Δx](13)

    其中L为信号的长度, Δ x \Delta x Δx为采样间隔,那么对应的频域坐标为

    f x ∈ [ − 1 / ( 2 Δ x ) : 1 / L : 1 / ( 2 Δ x ) ] (14) fx\in[-1/(2\Delta x):1/L:1/(2\Delta x)] \tag{14} fx[1/(2Δx):1/L:1/(2Δx)](14)

    其中的 f x fx fx单位为lp/mm,在光学中喜欢用cyc/mm描述,对应的坐标为

    f x ∈ [ − π / Δ x : 2 π / L : π / Δ x ] (15) fx\in [-\pi / \Delta x : 2 \pi /L: \pi / \Delta x] \tag{15} fx[π/Δx:2π/L:π/Δx](15)

    4.2 时间频域坐标

      时间频域坐标其实和空间频域坐标的分析基本一致,如果知道了时域坐标

    t = t 0 : Δ t : t 1 − Δ t (16) t = t_0:\Delta t:t_1-\Delta t \tag{16} t=t0:Δt:t1Δt(16)

    其中 ( t 1 − t 0 ) (t_1-t_0) (t1t0)为信号的长度,记作 t 10 t_{10} t10 Δ x \Delta x Δx为采样间隔,那么对应的频域坐标为

    f t ∈ [ − 1 / ( 2 Δ t ) : 1 / t 10 : 1 / ( 2 Δ t ) ] (17) f t\in[-1/(2\Delta t):1/t_{10}:1/(2\Delta t)] \tag{17} ft[1/(2Δt):1/t10:1/(2Δt)](17)

    当然,因为 Δ t = 1 / f s \Delta t=1/fs Δt=1/fs,也可以将其描述为

    f t ∈ [ − f s / 2 : 1 / t 10 : f s / 2 ] (18) f t\in[-fs/2:1/t_{10}:fs/2] \tag{18} ft[fs/2:1/t10:fs/2](18)

    下一篇文章讲述傅里叶变换的基本性质以及对应仿真代码的实现,将会告诉如何利用这一部分学习到的知识对信号和光现象进行分析和解释。

    5、欢迎各位批评指正,我将在第一时间解答

    展开全文
  • matlab-空域频域进行滤波处理[归纳].pdf
  • 频域变换:傅里叶变换和离散余弦变换及其反变换,可将图像在空域上的特性转化频域上; 叠加噪声:对图像添加高斯噪声和椒盐噪声; 空域滤波:对噪声污染后的图像添加不同模板下的平滑滤波和锐化滤波,可选择不同...
  • 本算法实现了图像的空域滤波以及频域滤波;实现了图像的沃尔什-哈达玛变换;实现了求解图像的二维离散傅里叶频谱。
  • 通过傅立叶变换后,得到的是图像的频谱。表示图像的能量梯度。 2,频率域: 频率域(frequency domain。)任何一个波形都可以分解成多个正弦波之和。每个正弦波都有自己的频率和振幅。所以任意一个波形信号有自己...
  • 然后,在经过粗配准的两幅图像中心选取尺寸相同的区域, 进行快速傅里叶变换, 在频域采用扩展的相位相关算法对图像进行精确配准。该方法利用图像的功率谱信息,减少对图像内容的依赖, 运用基于最小二乘的曲面拟...
  • 空域频域、时域的解释

    千次阅读 2020-05-13 15:14:40
    空间域:(spatial domain)也叫空域,即所说的像素域,在空域的处理就是在像素级的处理,如在像素级的图像叠加。通过傅立叶变换后,得到的是图像的频谱。表示图像的能量梯度。 频率域:(frequency domain。)...
  • 空域:均值和中值滤波 clc; clear; img = imread('4.tif');%读取图片 %img = rgb2gray(img); [m, n, z] = size(img); img = double(img); fz = 5; %滤波器窗口大小 img_pad = zeros(m+fz-1, n+fz-1); %拓展图像边界...
  • 实验目标:熟悉空域频域增强方法,理解并掌握常用平滑和锐化方法。 实验要求:1)对一幅带有噪声图像采用空域频域的滤波方法实现平滑处理,空域频域至少选择一种方法自己编写代码实现,并比较、分析不同窗口...
  • 空域&频域滤波

    2018-11-27 00:57:31
    空域平滑 (1)高斯滤波 import cv2 as cv import numpy as np img = cv.imread("lena512color.jpg",1) cv.imshow("img",img) cv.waitKey(0) kernel = cv.getGaussianKernel(3,0) print(...
  • 图像的空域频域

    万次阅读 多人点赞 2018-08-24 21:28:20
    换一个角度,如果将f(x,y)视为幅值变化的二维信号,则可以通过某些变换手段(如傅里叶变换、离散余弦变换、沃尔什变换和小波变换等)在频域下对图像进行处理了 因为在频率域就是一些特性比较突出,容易处理。...
  • 图像处理作业,附matlab代码,运行结果图
  • 图像的频域变换总结

    千次阅读 2020-05-16 21:31:06
    1.2 可进行图像变换的基本条件1.3 离散图像的正交变换二、傅里叶变换2.1 傅里叶变换的定义(一维)2.2 几种特殊函数的傅里叶变换2.3 二维离散傅里叶变换性质2.4 二维离散傅里叶变换的显示与计算2.5 傅里叶变换的应用...
  • 时域,空域频域的基本概念

    万次阅读 多人点赞 2017-10-25 11:06:31
    时域:时间域频域:频率域空域:空间域好像和没说一样, 详解如下: 1,空间域:  空间域(spatial domain)也叫空域,即所说的像素域,在空域的处理就是在像素级的处理,如在像素级的图像叠加。通过傅...
  • 图像处理课堂作业源码,可交互选择图像分别进行空域平滑,锐化,频域平滑,锐化,直方图处理等
  • 图像空间、频域变换实验(内含完整代码)
  • 图像的傅立叶变换频域滤波
  • 而变换域法是通过数学变换将信号与系统的数学模型从时间域变换到频率域、复频域进行求解的方法,时域与频域转换的方法通常有傅里叶变换法、拉普拉斯变换法和Z变换法三种,本文简述了三种时空域变换方法的基本原理。
  • 对输入的图像可以进行傅里叶变换空域滤波, 频域滤波
  • 什么是时域,空域频域

    千次阅读 2018-03-06 15:11:44
    空间域:(spatial domain)也叫空域,即所说的像素域,在空域的处理就是在像素级的处理,如在像素级的图像叠加。通过傅立叶变换后,得到的是图像的频谱。表示图像的能量梯度。 频率域:(frequency domain。)...
  • 空域滤波的数学运算为卷积/相关,对应频域则为点乘/频域数据的共轭(G*)与滤波器(H)的乘积。 简单起见,以一个1D数字信号为例加以说明。 例如:给定信号x = [1 2 2 4 4],滤波器h = [1 2 3]; 空域滤波(卷积)...
  • 文章目录前言一、空域卷积二、频域滤波三,高斯函数四,matlab代码高斯函数空域卷积高斯函数频域卷积总结 前言 卷积:函数空间域的卷积的傅里叶变换是函数傅里叶变换的乘积。对应地,频率域的卷积与空间域的乘积...
  • 空域滤波器获得频域滤波器3.5.在频域中直接生成滤波器3.5.1.建立网络数组以实现频域滤波器3.5.2.频域低通(平滑)滤波器3.5.3.线框及表面绘制3.6.高通(锐化)频域滤波器3.6.1.高通滤波函数3.6.2.高频强制滤波3.7.选择...
  • 主要包括以下四点: 频域变换:傅里叶变换和离散余弦变换及其反变换,可将图像在空域上的特性转化频域上; 叠加噪声:对图像添加高斯噪声和椒盐噪声; 空域滤波:对噪声污染后的图像添加不同模板下的平滑滤波和...
  • 主要包括以下四点: 频域变换:傅里叶变换和离散余弦变换及其反变换,可将图像在空域上的特性转化频域上; 叠加噪声:对图像添加高斯噪声和椒盐噪声; 空域滤波:对噪声污染后的图像添加不同模板下的平滑滤波和...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,634
精华内容 1,853
关键字:

空域到频域变换