“数字图像处理” 学习笔记


一切的开始——环境配置

安装 Anaconda

下载地址

选择下载 Python 2.7 version

安装完成后,便可在启动台中找到

安装 TensorFlow

打开终端,依次执行:

  • 创建 conda 新环境,并命名为 tensorflow

  • 激活 canda 环境

  • 在 conda 环境内部安装 tensorflow

测试 tensorflow 是否安装成功

进入 python ,测试 tensorflow 是否安装成功

  • 查看 python 版本,应为 python 2.7.14

  • 查看 tensorflow 版本,应为 ‘1.4.1’

  • 确认后,可以退出环境

使用 Tensorflow

每次使用 Tensorflow 都需要激活 Tensorflow 环境

每次使用完毕后,也需要关闭 Tensorflow 环境

数字图像

分为 灰度图像、彩色图像、二值图像

像素:数字图像是由二维元素组成,每一个元素具有一个特性的位置 \((x,y)\) 和幅度 \(f(x,y)\) 。

基础

采样和量化
  • 采样:图像空间坐标的数字化
    • 确定水平和垂直的像素个数,确定函数位置
  • 量化:图像函数值(灰度值)的数字变化
    • 对函数取值进行分级量化
      • 灰度图像一般量化为 \(0\) 到 \(255\)
        • 灰度直方图是对图中量化以后的像素点统计个数所得到的图
  • 非统一的采集、量化,对于集中区域多采样、量化的方式
数字图像的表示

用二维矩阵 \(a[m,n]\) 表示位于位置 \((m,n)\) 像素点的量化信息。

像素
  • D邻域:\((x\pm 1,y\pm 1)\)
  • 像素联通的两个必要条件:
    • 位置相邻
    • 灰度值是否满足特定的相似性准则
  • 像素之间的距离
    • 欧式距离:几何距离
    • D4 距离:曼哈顿距离
    • D8 距离:\(max{|x_1-x_2|,|y_1-y_2|}\)
彩色模型

常见的有 RGB模型、CYM 系统、CYMK 系统、HSI 模型。

  • RGB 模型,有三个参数 \((R,G,B)\) ,分别用两位十六进制表示。
  • HSB 模型,有三个参数,分别是 饱和度(S),色相(H),亮度(B) 。
  • 颜色用 \(360\) 度表示:
    • 相邻的同色系,称为近似色;
    • \(120\) 度 或者 \(240\) 度方向的,称为对比色;
    • \(180\) 度方向的,称为互补色。
图像格式
  • BMP 格式
    • 图像描述信息:图像的高度和宽度等信息
    • 图像数据部分:顺序存放的连续数据
图像质量
  • 对比度:一幅图像中灰度反差的大小。对比度=最大亮度/最小亮度
  • 与清晰度有关的主要因素:亮度、对比度、尺寸大小、细微层次、颜色饱和度

图像增强

图像处理有两种方法:

  • 空间域处理
    • 全局运算:在整个图像处理
    • 局部运算:在与像素有关的空间处理
    • 点运算:对图像作逐点运算
  • 频域处理

图像增强的方式:

  • 对比度增强
  • 图像平滑
  • 图像锐化
  • 同态滤波
  • 伪彩色与假彩色处理
  • 代数运算
  • 几何运算

灰度变换法

线性灰度变换

\(g(x,y)=\left\{\begin{matrix}
d & f(x,y) > b\\
\frac{d-c}{b-a}[ f ( x , y ) – a ] + c & a\le f(x,y)\le b\\
c & f(x,y) < a
\end{matrix}\right.\)

分段灰度变换

即分段函数的进行映射。

非线性变换

对数变换

低灰度区拓展,高灰度区压缩。

\(g(x,y)=a+\frac{ln[f(x,y)+1]}{blnc}\)

指数变换

高灰度区拓展,低灰度区压缩。

\(g(x,y)=b^{c[f(x,y)]-a}-a\)

直方图均衡化

直方图:表示数字图像中的每一个灰度级与其出现的频率间的统计关系,横坐标是灰度级,从纵坐标是频率。

直方图均衡化,是将原图像的直方图通过变换函数修正为均匀的直方图,然后按均衡直方图修正原图像。

直方图均衡化实质上是减少图像的灰度级以换取对比度的加大。

信息熵 \(H(x)=-\sum_{x\in \chi }p(x)log(x)\) ,当变量可取值的种类一定时,其取每种值的概率分布越平均,其熵值越大。

令 \(r\) 表示灰度级,\(P(r)\) 表示概率密度函数,且 \(r\) 值已归一化,最大灰度值为 \(1\) 。

变换 \(\int_{0}^{r}p(r)dr=\int_{0}^{s}p(s)ds=\int_{0}^{s}1\cdot ds=s=T(r)\)

离散的直方图均衡化 \(s_k=\sum _{j=0}^k p(r_j)\)

直方图匹配

直方图匹配:修改一幅图像的直方图,使得它与另一幅图像的直方图匹配或者具有一种预先规定的函数形状。

直方图匹配可以突出感兴趣的灰度区域,改善图像。

令 \(P(r)\) 为原始图像的灰度密度函数,\(P(z)\) 是期望通过匹配的图像灰度密度函数。

变换的方式是通过分别作直方图均衡变换作为桥梁,进行转换。

  1. 由 \(s=T(r)=\int_{0}^{r}p(r)dr\) 各点灰度由 \(r\) 映射成 \(s\)
  2. 由 \(v=G(z)=\int_{0}^zp(z)dz\) 各点灰度由 \(z\) 映射成 \(v\)
  3. 根据 \(s=T(r)\) 有 \(r=T^{-1}(s)\) 又有 \(v=G(z)\) 逐一取 \(s=v\) 求出与 \(r\) 对应的 \(z=G^{-1}(s)\)

图像分割

图像分割是按照某些特性(例如灰度级,频谱等)将图像划分成一些区域。

门限化

灰度级门限化

选择一个门限,将两个门限分开:

设 \(f(x,y)\) 为原始图像

\(g(x,y)=\left\{\begin{matrix}
1 & f(x,y)\ge T\\
0 & f(x,y) < T
\end{matrix}\right.\)

\(T\) 一般选择两个峰值之间的谷

半门限化

\(g(x,y)=\left\{\begin{matrix}
L_G & f(x,y)\ge T\\
f(x,y) & f(x,y) < T
\end{matrix}\right.\) 或者 \(g(x,y)=\left\{\begin{matrix}
f(x,y) & f(x,y)\ge T\\
L_B & f(x,y) < T
\end{matrix}\right.\)

边缘检测

边缘分类有:脉冲状边缘、突变边缘

由于噪声、照明等产生边缘间断,使得一组像素难以完整形成。

  • 梯度模值的大小:对于点 \((x’,y’)\) ,判断其是否与领域内的 \((x,y)\) 相似,当 \(|\bigtriangledown f(x,y)-\bigtriangledown f(x’,y’)| \le T\) ,其中 \(T\) 是一个非负的阀值;
  • 梯度向量的方向角:对于点 \((x’,y’)\) ,判断其是否与领域内的点 \((x,y)\) 的方向角相似,当 \(|\alpha (x,y)-\alpha (x’,y’)| < A\) ,其中 \(A\) 是一个角度阀值。

差分算子

梯度:\(G(f(x,y))=\begin{bmatrix}
\frac{\partial f}{\partial x}\\
\frac{\partial f}{\partial y}
\end{bmatrix}\)

  • \(\bigtriangleup _xf(x,y)=f(x,y)-f(x+1,y)\)
  • \(\bigtriangleup _yf(x,y)=f(x,y)-f(x,y+1)\)
拉普拉斯算子

\(\bigtriangledown ^2f(x,y)=-\left [ f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1) \right ]+4f(x,y)\)

Hough 变化

在找出边界点集之后,需要连接,形成完整的边缘。

  • 对于边界上的 \(n\) 个点的点集,找出共线的点集
  • 将 \(y=ax+b\) 这样的直线对应到 \(ab\) 平面上
    • 过 \(xy\) 平面一个点 \((x,y)\) 的所有直线形成 \(ab\) 平面上的一条直线
  • 找到在 \(ab\) 平面上相交直线最多的点,就是在 \(xy\) 平面内找到的最近似边缘

You may also like

LEAVE A COMMENT

Statistics

  • 0
  • 44,618

Categories

Archive

Comments