计算机视觉深度学习实战三:频域分析及其变换

频域分析及变换

更多精彩内容请关注微信公众号:听潮庭
在这里插入图片描述

如何让卷积更快:空域卷积=频域卷积

在这里插入图片描述

高斯金字塔

  • 图像金字塔化:先进行图像平滑,再进行降采样,

  • 根据降采样率,得到一系列尺寸逐渐减小的图像。

  • 操作:n次(高斯卷积->2倍降采样)->n层金字塔

  • 目的:捕捉不同尺寸的物体

  • 在这里插入图片描述

  • 高斯滤波的必要性:直接降采样损失信息

  • 高斯金字塔本质上为信号的多尺度表示法

  • 在这里插入图片描述

拉普拉斯金字塔(Laplacian)

  • 高频细节信息在卷积和下采样中丢失
  • 保留所有层所丢失的高频信息,用于图像恢复
  • 在这里插入图片描述

高斯金字塔与拉普拉斯金字塔

  • 下采样
  • 上采样
  • 高斯模糊

在这里插入图片描述

频率域分析—傅里叶变换

傅里叶变换

  • 一个信号可以由足够多个不同频率和幅值的正余弦波组成
  • 在这里插入图片描述
  • 信号分解:
  • 在这里插入图片描述
  • 傅里叶变换的数学公式:连续变换
  • 在这里插入图片描述
  • 欧拉公式
  • 在这里插入图片描述
  • 在这里插入图片描述
  • 在这里插入图片描述
  • 欧拉公式描述的是一个随着时间变化,在复平面上做圆周运动的点;
  • 傅里叶变换描述的就是一系列这样的点的运动的叠加的效应
  • 在这里插入图片描述
  • 傅里叶逆变换
  • 在这里插入图片描述
  • 在这里插入图片描述

离散傅里叶变换

  • 在这里插入图片描述

  • 二维离散傅里叶变换:

  • 在这里插入图片描述

  • 在这里插入图片描述

2D离散傅里叶变换

  • 2D傅里叶基图片(越靠外的 是条纹越密集的地方)
  • 在这里插入图片描述

频谱滤波

  1. 基于傅里叶变换的滤波:低通滤波

  • 在这里插入图片描述

基于傅里叶变换的滤波:相位滤波

在这里插入图片描述

频段滤除

在这里插入图片描述

在这里插入图片描述

傅里叶变换的不足

  • 关键问题:傅里叶变换假设前提为信号平稳,但实际中信号多数为非平稳信号。
  • 缺乏时间和频率的定位功能
  • 对于非平稳信号的局限性
  • 在时间和频率分辨率上的局限性
  • 在这里插入图片描述
  • 在这里插入图片描述

解决方法:

短时傅里叶变换
  • SIFT(短时傅里叶变换)添加时域信息的方法是设置窗格,认为窗格内的信号是平稳的;
  • 然后对窗格内的信号分段进行傅里叶变换
  • 优点是可以获得频域信息的同时可以获得时域信息。
  • 缺点是窗格大小很难设置。
  • 在这里插入图片描述
  • 短时傅里叶变换的特点:
    • 窄窗口时间分辨率高、频率分辨率低;
    • 宽窗口时间分辨率低,频率分辨率高;
    • 对于时变的非稳态信号,高频适合小窗口。低频适合打窗口
    • 但是STFT的窗口是固定的
    • 在这里插入图片描述

小波变换

  • 小波变换与STFT思路接近,但小波变换直接把傅里叶变换的基给换了-----将无限长的三角函数基换成了有限长的会衰减的小波基。
  • 这样不仅能够获取频率,还可以定位到时间;
  • 在这里插入图片描述
  • 所谓的小波函数,是一族函数,需要满足:
    • 1、均值为0;
    • 在时域和频域都局部化,不蔓延到整个坐标轴
  • 满足这两条的函数就是小波(Wavelet)函数,有很多种类,最简单的是Haar小波。
  • 小波变换要做的就是将原始信号表示为一组小波基的线性组合,然后通过忽略其中不重要的部分达到数据压缩(即降维)的目的。
  • 常用的小波函数包括:
    • Haar系列,Daubechies系列,Moret系列;
    • Sym系列,Meyer系列,Coif系列。
  • 在这里插入图片描述

滤波实战

1、高斯滤波与中值滤波

  • import cv2
    import numpy as np
    import matplotlib.pyplot as plt
    
    img = cv2.imread('opencv.png',0) #0 直接读为灰度图像
    for i in range(2000): #添加点噪声
        temp_x = np.random.randint(0,img.shape[0])
        temp_y = np.random.randint(0,img.shape[1])
        img[temp_x][temp_y] = 255 #在temp_x,temp_y处添加白色噪声(255是白色,0是黑色)
    
    blur_1 = cv2.GaussianBlur(img,(5,5),0)
    
    blur_2 = cv2.medianBlur(img,5)
    
    plt.subplot(1,3,1),plt.imshow(img,'gray')#默认彩色,另一种彩色bgr
    plt.subplot(1,3,2),plt.imshow(blur_1,'gray')
    plt.subplot(1,3,3),plt.imshow(blur_2,'gray')
    plt.show()
    
    
  • 在这里插入图片描述

2、Sobel滤波x方向 y方向

边缘探测

import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt

img = cv.imread('dave.png',0)
laplacian = cv.Laplacian(img,cv.CV_64F)
sobelx = cv.Sobel(img,cv.CV_64F,1,0,ksize=5)
sobely = cv.Sobel(img,cv.CV_64F,0,1,ksize=5)

plt.subplot(2,2,1),plt.imshow(img,cmap = 'gray')
plt.title('Original'), plt.xticks([]), plt.yticks([])

plt.subplot(2,2,2),plt.imshow(laplacian,cmap = 'gray')
plt.title('Laplacian'), plt.xticks([]), plt.yticks([])

plt.subplot(2,2,3),plt.imshow(sobelx,cmap = 'gray')
plt.title('Sobel X'), plt.xticks([]), plt.yticks([])

plt.subplot(2,2,4),plt.imshow(sobely,cmap = 'gray')
plt.title('Sobel Y'), plt.xticks([]), plt.yticks([])
plt.show()

在这里插入图片描述

3、快速傅里叶变换

import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt

img = cv.imread('opencv.png',0)
f = np.fft.fft2(img)
fshift = np.fft.fftshift(f)
magnitude_spectrum = 20*np.log(np.abs(fshift))

plt.subplot(121),plt.imshow(img, cmap = 'gray')
plt.title('Input Image'), plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(magnitude_spectrum, cmap = 'gray')
plt.title('Magnitude Spectrum'), plt.xticks([]), plt.yticks([])
plt.show()

在这里插入图片描述

4、Clahe

import cv2
import matplotlib.pyplot as plt

img = cv2.imread('timg.jpg',0) #直接读为灰度图像
res = cv2.equalizeHist(img)

clahe = cv2.createCLAHE(clipLimit=2,tileGridSize=(10,10))
cl1 = clahe.apply(img)

plt.subplot(131),plt.imshow(img,'gray')
plt.subplot(132),plt.imshow(res,'gray')
plt.subplot(133),plt.imshow(cl1,'gray')

plt.show()

在这里插入图片描述

中间是自适应直方图均衡的效果 右边是Clahe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值