机器视觉 复习记录

简答

  1. 请列出图像增强, 图像恢复, 图像编码和图像分割技术包含的主要研究内容及他们之间的联系异同之处

    主要研究内容:

    • 图像增强是要通过对图像的各种加工, 获得视觉效果更好, 或看起来更有用的图像
    • 图像恢复是基于退化模型消除失真, 恢复图像真实信息
    • 图像编码是采用特殊的表达方法以减少表示图像所需的数据量
    • 图像分割是指把图像分成各具特性的区域并提取感兴趣目标的技术和过程

    联系与异同:

    • 图像恢复与图像增强相同之处在于都希望改进输入图像的视觉质量, 不同之处在于图像增强一般要借助人的视觉系统特性取得较好的视觉效果, 而恢复则将图像退化的过程模型化, 并据此采取相反过程得到原始图像
    • 图像增强和恢复通常作为图像分割的预处理步骤, 而图像分割的结果可为图像编码提供指导
  2. 图像量化时, 如果量化级比较小, 会出现什么现象, 为什么?

    量化级较小时, 图像会出现虚假轮廓, 尤其是在灰度缓变区域, 他是由于在数字图像的灰度平滑区使用的灰度级数不够而造成的

  3. 给出分段线性变换的定义并讨论线性变换的斜率参数取值对输出图像对比度的影响

    定义: 分段线性变换是指将灰度变换函数 $g = f(i)$ 分成若干个线性的子函数段, 每段在不同的灰度区间内采用不同的线性映射函数, 从而对不同灰度区间的灰度值进行不同的线性调整.

    影响:
    线性点运算的灰度变换函数形式可以利用线性方程描述, 即 $s - ar + b$

    1. $0 < a < 1$, $b > 0$ 时, 输出灰度压缩, 图像对比度减小
    2. $a = 1$, $b = 0$ 时, 输出灰度不变
    3. $a > 1$, $b = 0$ 时, 输出灰度扩展, 整体变亮
    4. $0 < a < 1$, $b = 0$ 时, 输出灰度压缩, 整体变暗 如果 $a < 0$, 暗区域将变亮, 亮区域将变暗
  4. 直方图规定化中单映射规则和组映射规则的实现过程

    单映射: 先从小到大依次找到能使下式最小的 $k$ 和 $l$

    $$ \left| \sum_{i=0}^{k} p_f(f_i) - \sum_{j=0}^{l} p_u(u_j) \right| $$

    然后将 $P_f(f_i)$ 逐个对应到 $P_u(u_j)$, 由于这里每个 $P_f(f_i)$ 都是分别对应过去的, 可以称之为单映射规则 (SML) 这个方法

    组映射: 设有整数函数 $I(l), l = 0, 1, …, N - 1$, 满足 $0 \leq I(0) \leq … \leq I(l) \leq … \leq I(N - 1)$, 现要确定能使下式达到最小的 I(l):

    $$ \left| \sum_{i=0}^{I(l)} p_f(f_i) - \sum_{j=0}^{l} p_u(u_j) \right| $$

    如果 $l=0$, 则将其 $i$ 从 $0$ ~ $I(0)$ 的 $P_f(f_i)$ 对应到 $P_u(u_0)$
    如果 $l \geq 1$, 则将其 $i$ 从 $I(l - 1) + 1 $~$ I(l)$ 的 $P_f(f_i)$ 都对应到 $P_u(u_j)$

  5. 二维傅里叶变换的表征形式有哪些? 简述频率域中实现图像增强的主要步骤?

    傅里叶变换(FT)将图像空间和频率空间联系起来, 对于图像 $f(x, y)$, 其傅里叶变换 $F(u, v)$ 为

    $$F(u,v)=\frac{1}{N}\sum_{x=0}^{N-1}\sum_{y=0}^{N-1}f(x,y)\exp\!\left(-j2\pi\frac{ux+vy}{N}\right),\quad u,v=0,1,\ldots,N-1$$

    而 $F(u,v)$ 的傅里叶反变换为 $f(x,y)$:

    $$f(x,y)=\frac{1}{N}\sum_{u=0}^{N-1}\sum_{v=0}^{N-1}F(u,v)\exp\!\left(j2\pi\frac{ux+vy}{N}\right),\quad x,y=0,1,\ldots,N-1$$

    一般 $f(x,y)$ 是实函数,但 $F(u,v)$ 是复函数,可以写成

    $$F(u,v)=R(u,v)+jI(u,v)$$

    其中 $R(u,v)$ 和 $I(u,v)$ 分别为 $F(u,v)$ 的实部和虚部。

    进一步,可以定义二维傅里叶变换的幅度谱、相位谱和功率谱分别为

    $$|F(u,v)|=\left[R^2(u,v)+I^2(u,v)\right]^{1/2}$$$$\phi(u,v)=\arctan\!\left(\frac{I(u,v)}{R(u,v)}\right)$$$$P(u,v)=|F(u,v)|^2=R^2(u,v)+I^2(u,v)$$

    步骤:

    1. 计算需增强图像的傅里叶变换
    2. 将其与一个 (根据需要设计的) 转换函数相乘
    3. 再将结果进行傅里叶反变换以得到增强的图像
  6. 简述自使用中值滤波器的工作流程:

    1. 先定义核心参数

      注意滤波过程是顺序遍历原始图像中的每个像素, 并产生一个滤波像素, 用窗口 $S_{xy}$ (覆盖当前像素的邻域), 确定以下参数:

      $$ g_{\min}=S_{xy}\text{ 中的灰度级最小值} $$$$ g_{\max}=S_{xy}\text{ 中的灰度级最大值} $$$$ g_{\mathrm{med}}=S_{xy}\text{ 中的灰度级中值} $$$$ g_{xy}=\text{坐标 }(x,y)\text{ 处的灰度级} $$$$ S_w=S_{xy}\text{ 内所有的最大尺寸} $$
    2. 进入 A 层判断

      计算 $A_1 = g_{\mathrm{med}} - g_{\min}, A_2 = g_{\mathrm{med}} - g_{\max}$, 若 $A_1 > 0$ 且 $A_2 < 0$, 则进入 B 层.

      若不满足, 就增大窗口尺寸: - 若增加的窗口尺寸 <= $S_w$, 则回到 A 层重新判断 - 若窗口尺寸 > $S_w$, 直接输出当前像素 $g_{xy}$

    3. 进入 B 层判断

      计算 $B_1 = g{xy} - g{min}, B_2 = g{xy} - g{\max}$ 如果 $B_1 > 0$ 且 $B_2 < 0$, 输出 $g_{xy}$
      否则输出 $g_{\mathrm{med}}$

综合

  1. 直方图均衡化

    假定一幅大小为 $64 * 64$, 灰度级为 8 级的图像, 其灰度级分布如下图所示, 对其进行均衡化处理

    灰度变换函数为:

    $$ s_k = T(r_k) = \sum_{j=0}^{k} p_r(r_j), \quad k = 0,1,\dots,L-1 $$

    取整公式:

    $$ g_k = \mathrm{int}\big[(L-1)s_k + 0.5\big] $$
    $k$ $r_k$ $n_k$ $p_r(r_k)$
    0 0 790 0.19
    1 1/7 1003 0.25
    2 2/7 870 0.21
    3 3/7 656 0.16
    4 4/7 329 0.08
    5 5/7 265 0.06
    6 6/7 122 0.03
    7 1 81 0.02
    序号 运算 0 1 2 3 4 5 6 7
    1 列出原始图像灰度级 $f_k$ 0 1 2 3 4 5 6 7
    2 列出原始直方图 0.19 0.25 0.21 0.16 0.08 0.06 0.03 0.02
    3 计算累计分布函数 $s_k=\sum_{j=0}^k p_r(r_j)$ 0.19 0.44 0.65 0.81 0.89 0.95 0.98 1.00
    4 取整 $g_k=\mathrm{int}[(L-1)s_k+0.5]$ 1 3 5 6 6 7 7 7
    5 确定映射对应关系 $f_k \rightarrow g_k$ 0→1 1→3 2→5 3→6 4→6 5→7 6→7 7→7
    6 计算新的直方图 0 0.19 0 0.25 0 0.21 0.24 0.11
  2. 哈夫曼编码

    每次过程: 取最小的两个节点 x 和 y, 合并为新节点 z, 此时节点集…

    左零右一, 从最上向下找到哈夫曼编码

  3. 算术编码

    **例:**假设信源符号 \(a,b,c,d\) 出现的概率分别为 \(0.1,0.4,0.2,0.3\),若编码符号串为 \(aacdbaac\),给出对应的算术编码结果及其编码过程。

    初始区间为:

    $$ E_0=[0,1) $$

    当前区间长度:

    $$ range=1 $$

    符号概率区间划分如下:

    $$ a:[0,0.1),\quad b:[0.1,0.5),\quad c:[0.5,0.7),\quad d:[0.7,1) $$

    区间更新公式为:
    设当前区间为 \(E=[L,U)\),符号概率区间为 \([l_s,u_s)\),则

    $$ E'=[L+range\cdot l_s,\;L+range\cdot u_s) $$

    处理第 1 个符号 \(a\):

    $$ E=[0+1\cdot 0,\;0+1\cdot 0.1)=[0,0.1) $$

    $$ range=0.1 $$

    处理第 2 个符号 \(a\):

    $$ E=[0+0.1\cdot 0,\;0+0.1\cdot 0.1)=[0,0.01) $$

    $$ range=0.01 $$

    处理第 3 个符号 \(c\):

    $$ E=[0+0.01\cdot 0.5,\;0+0.01\cdot 0.7)=[0.005,0.007) $$

    $$ range=0.002 $$

    处理第 4 个符号 \(d\):

    $$ E=[0.005+0.002\cdot 0.7,\;0.005+0.002\cdot 1)=[0.0064,0.007) $$

    $$ range=0.0006 $$

    处理第 5 个符号 \(b\):

    $$ E=[0.0064+0.0006\cdot 0.1,\;0.0064+0.0006\cdot 0.5)=[0.00646,0.0067) $$

    $$ range=0.00024 $$

    处理第 6 个符号 \(a\):

    $$ E=[0.00646+0.00024\cdot 0,\;0.00646+0.00024\cdot 0.1)=[0.00646,0.006484) $$

    $$ range=0.000024 $$

    处理第 7 个符号 \(a\):

    $$ E=[0.00646+0.000024\cdot 0,\;0.00646+0.000024\cdot 0.1)=[0.00646,0.0064624) $$

    $$ range=0.0000024 $$

    处理第 8 个符号 \(c\):

    $$ E=[0.00646+0.0000024\cdot 0.5,\;0.00646+0.0000024\cdot 0.7) =[0.0064612,0.00646168) $$

    $$ range=0.00000048 $$

    最终算术编码结果可取该区间内任意实数,例如:

    $$ C=0.0064612 $$
Licensed under CC BY-NC-SA 4.0
最后更新于 Jan 07, 2026 19:58 +0800
发表了102篇文章 · 总计18万7千字
永远相信美好的事情即将发生。
使用 Hugo 构建
主题 StackJimmy 设计