• 8月18日计算机视觉理论学习笔记——图像预处理



    前言

    本文为8月18日计算机视觉理论学习笔记——图像预处理,分为五个章节:

    • 图像显示与存储原理;
    • 图像增强的目标;
    • 图像处理方法;
    • 特征提取方法;
    • 空间域处理及其变换;
    • 频率域分析。

    一、图像显示与存储原理

    • 3维矩阵:
      1

    二、图像增强的目标

    1. 改善图像的视觉效果;
    2. 转换为更适合于人或机器分析处理的形式;
    3. 突出对人或机器分析有意义的信息;
    4. 抑制无用信息,提高图像的使用价值。

    三、图像处理方法

    2


    四、特征提取方法

    1、直方图(Histogram)

    • 对图片数据/特征分布的一种统计:
      • 灰度、颜色;
      • 梯度/边缘、形状、纹理;
      • 局部特征点、视觉词汇。

    3
    4

    • 直方图均衡化:
      • 用来增加图像的局部对比度,而不影响整体的对比度;
      • 实质上是对图像进行非线性的拉伸;
      • 重新分配各个灰度单位中的像素点数量。

    5

    2、自适应直方图均衡(AHE)

    对局部区域进行直方图均衡:

    • 在原始图片上按特定步长滑动;
    • 每个点会有多次赋值,最终的取值为这些赋值的均值。

    3、CLAHE

    与 AHE 不同的地方在于,直方图修剪过程,用修建后的直方图均衡图象时,图像对比度会更自然。

    4

    • 步骤:
      1. 图像分块, 以块为单位;
      2. 先计算直方图,再修剪直方图,最后均衡;
      3. 遍历操作各个图像块,进行块间双线性插值;

    5
    6

    4、形态学运算

    • 膨胀: 图像中高亮部分领域扩张;
    • 腐蚀: 图像中高亮部分领域被蚕食。
      7
    • 开运算: 先腐蚀再膨胀,去掉目标外的孤立点;
    • 闭运算: 先膨胀再腐蚀,去掉目标内的孤立点。

    五、空间域处理及其变换

    1、滤波/卷积

    在每个图片位置(x, y)上进行基于邻域的函数计算。
    h [ x , y ] = ∑ k , l f [ k , l ]   I [ x + k , y + l ] h[x, y] = \sum_{k, l} f[k, l]\ I[x+k, y+l] h[x,y]=k,lf[k,l] I[x+k,y+l]

    • x , y x, y x,y 是像素在图片中的位置;
    • k , l k, l k,l 是卷积核中的位置,中心点位置是 ( 0 , 0 ) (0, 0) (0,0)
    • f [ k , l ] f[k, l] f[k,l] 是卷积核在 ( k , l ) (k, l) (k,l) 上的权重参数;
    • I [ x + k , y + l ] I[x+k, y+l] I[x+k,y+l] 是与 f [ k , l ] f[k, l] f[k,l] 对应的图片像素值;
    • h [ x , y ] h[x, y] h[x,y] 是图片中 ( x , y ) (x, y) (x,y) 像素的卷积结果。

    (1)、平滑均值滤波/卷积

    • 奇数尺寸;
    • 参数和为 1.
      8

    (2)、平滑中值滤波/卷积

    • 奇数尺寸;
    • 操作原理:
      • 卷积域内的像素值从小到大排序;
      • 取中间值作为卷积输出。
    • 有效去除椒盐噪声。

    9
    10

    (3)、平滑高斯滤波/卷积

    • 奇数尺寸;

    • 有效去除高斯噪声;

    • 参数:

      • x, y 是卷积参数坐标;
      • 标准差 σ \sigma σ σ \sigma σ 越小,关注区域越集中。
        G σ = 1 2 π σ 2 e − ( x 2 + y 2 ) G_{\sigma} = \frac{1}{2\pi \sigma^2} e^{-\frac{(x^2 + y^2)}{}} Gσ=2πσ21e(x2+y2)
    • 人眼特性: 离关注中心越远,感受精度越模糊。

    11

    • 分解特性: 2D 卷积拆分成两个相同的 1D 卷积:
      • 降低计算次数:
        • 2D: K × K K\times K K×K 次计算;
        • 1D: 2 K 2K 2K 次计算。
          [ 1 2 1 2 4 2 1 2 1 ] = [ 1 2 1 ] × [ 1 2 1 ] [121242121]
          121242121
          = [121]
          121
          \times [121]
          [121]
          121242121 = 121 ×[121]

    (4)、梯度 Prewitt 滤波/卷积

    12

    (5)、梯度 Sobel 滤波/卷积

    13

    (6)、梯度 Laplacian 滤波/卷积

    滤波和等于0。

    • 作用:
      • 团块检测:周边高于(低于)中心点;
      • 边缘检测:像素值快速变化的区域。

    14


    六、频率域分析

    1、高斯金字塔

    • 步骤:
      1. 图像金字塔化:先进行图像平滑,再进行降采样;
      2. n次(高斯卷积 ⇒ 2 倍降采样)⇒ n 层金字塔。

    2、拉普拉斯金字塔

    保留所有层丢失的高频信息,用于图像恢复。
    15

    3、傅里叶变换

    一个信号可以由足够多个不同频率和幅值的正余弦波组成。
    A   s i n ( ω x ) + B   c o s ( ω x ) A\ sin(\omega x) + B\ cos(\omega x) A sin(ωx)+B cos(ωx)

    16

    • 连续变换: H ( ω ) = ∫ − ∞ ∞ h ( x ) e − j ω x d x H(\omega) = \int_{-\infty }^{\infty } h(x) e^{-j\omega x} dx H(ω)=h(x)exdx

    17

    • 欧拉公式: e i x = c o s x + i   s i n x e^{ix} = cosx + i\ sinx eix=cosx+i sinx

    4、离散傅里叶变换

    X ( ω ) = ∑ n = − ∞ ∞ x n e − i ω n X(\omega) = \sum_{n=-\infty }^{\infty} x_n e^{-i\omega n} X(ω)=n=xneiωn

    • 二维离散傅里叶变换: F ( u , v ) = ∑ x = 0 M − 1 ∑ y = 0 N − 1 f ( x , y ) e − j   e π ( u x M + u y N ) F(u, v) = \sum_{x=0}^{M-1} \sum_{y=0}^{N-1} f(x, y) e^{-j\ e\pi (\frac{ux}{M} + \frac{uy}{N} )} F(u,v)=x=0M1y=0N1f(x,y)ej eπ(Mux+Nuy)

    18

    • 傅里叶变换的不足:
      1. 傅里叶变换假设前提为信号平稳,但实际信号多为非平稳信号;
      2. 缺乏时间和频率的定位功能;
      3. 对于非平稳信号的局限性;
      4. 在时间和频率分辨率上的局限性。

    5、短时傅里叶变换(STFT)

    设置窗格,认为窗格内的信号是平稳的。 然后对窗格内的信号分段进行傅里叶变换

    • 优点:获得频域信息的同时可获得时域信息;
    • 缺点:窗格大小很难设置。

    19

    6、小波变换

    与 STFT 思路接近,但将无限长的三角函数换成了有限长的会衰减的小波基
    F ( W ) = ∫ − ∞ ∞ f ( t )   e i ω t d t = = > W T ( α , τ ) = 1 a ∫ − ∞ ∞ f ( t )   Ψ ( t − τ α ) d t F(W) = \int_{-\infty }^{\infty } f(t)\ e^{i\omega t}dt ==>\\ WT(\alpha , \tau ) = \frac{1}{\sqrt[]{a} } \int_{-\infty }^{\infty }f(t) \ \Psi(\frac{t-\tau }{\alpha } )dt F(W)=f(t) etdt==>WT(α,τ)=a 1f(t) Ψ(αtτ)dt
    其中, Ψ ( t − τ α ) \Psi(\frac{t-\tau }{\alpha }) Ψ(αtτ) 是小波函数, τ \tau τ 控制位移, α \alpha α 控制频率。
    小波函数需满足:

    1. 均值为0;
    2. 在时域和频域都局部化。
    • 常用的小波函数:
      20

  • 相关阅读:
    std::move以及右值引用等
    Android源码学习---init
    助力工业物联网,工业大数据之ST层的设计【二十五】
    spark Spark Streaming、kafka数据源Direct模式、 自定义数据源
    sql 查询
    子查询和内外链接查询
    智慧工地源码 手册文档 app 数据大屏、硬件对接、萤石云
    rust 生命周期的问题请教 slqx fromRow的问题
    一种基于最大相关熵和局部约束的协同表示分类器
    LeetCode 46. 全排列
  • 原文地址:https://blog.csdn.net/Ashen_0nee/article/details/126387861