数字图像处理复习笔记

本文最后更新于:2022年7月21日 下午

数字图像处理复习笔记

[TOC]

第一章 绪论

数字图像是一个被采样和量化后的二维函数f(x,y)\bold{f(x,y)},其中,x,y,fx,y,f都是有限的和离散的。

数字图像也可看做是一个二维矩阵,行列划分后,每个小块区域叫做像素,每个像素一般由一个0到255的数值表示(灰度图)或者由多个0到255的数值表示(彩色图像)。

为什么是0~255?因为(255)10=(1111 1111)2(255)_{10}=(1111\ 1111)_2

数字图像的来源

  1. 伽马射线成像:用于核医学和天文观测
  2. X射线成像:用于医学、工业、天文
  3. 紫外波段成像:荧光显微法
  4. 可见光成像:最常见的
  5. 红外波段成像:用于海岸线测绘、矿物测绘、土壤温度测绘、土壤含水量测绘
  6. 微波波段成像:雷达图像,可以不被云层阻挡
  7. 无线电波段成像:核磁共振成像MRI
  8. 声波成像:医学超声波
  9. 计算机生成图像

数字图像的特点是什么?

  1. 信息量大
  2. 像素之间相关性较大、冗余较多
  3. 对三维景物的理解,使用单个视角二维图像不够
  4. 二维图像的观察受人的主观因素较大

数字图像处理是什么?

  • 狭义上指图像->图像,即通过处理把一副图像变为修改后的另一幅图像。
  • 广义上也指图像->非图像,即理解分析一副数字图像。

第二章 数字图像基础

人类视觉感知

  • 虹膜:类似光圈,控制进光亮

  • 晶状体:改变焦距、聚焦图像

  • 视网膜:感受图像。有锥状体和杆状体两种光感受器。

    • 锥状体:数量较少,中间凹的中间部分,颜色敏感,亮视觉
    • 杆状体:数量较多,分布面积大,颜色不敏感,对低照明度敏感,分辨率低,负责察觉运动,暗视觉
  • 中间凹:成像芯片

    image-20211207112703026

graph LR
	A[光信号] --> B[晶状体透镜]
	B --> C[中间凹区域]
	C --> D[光接收器]
	D --> E[电脉冲信号]
	E --> F[大脑解码]

视觉特性

  • 亮度适应

    人能感受到的光亮度最大值与最小值之比为101010^{10},随着光线亮度增加,人眼感受到的主观亮度对数增加。

主观亮度=Kln(客观亮度)+k0主观亮度=K\cdot ln(客观亮度) + k_0

图中Scotopic和Photopic两条曲线代表杆状体和锥状体的亮度感知曲线,而红点处是指在某一个亮度下人眼能够同时分辨的亮度范围(人眼动态范围)

  • 马赫带现象:边界处,主观亮度对比强。

  • 同时对比现象:对于相同的亮度,背景变化时主观亮度会变化。

图像采样与量化

图像的数字化就是图像的采样和量化,采样是把空间坐标离散化,量化是把灰度离散化。

采样值决定空间分辨率(1920*1080 etc),量化值决定灰度分辨率(L级 etc)。

细节丰富的图像应该细采样、粗量化,避免模糊;缓变的图像应该细量化、粗采样,避免假轮廓。

图像内插

  • 最近邻插值:选择最近邻点的灰度值
  • 双线性插值:找到最近的4个点,进行加权平均,v(x,y)=ax+by+cxy+dv(x,y)=ax+by+cxy+d
  • 双三次内插:找到最近的16个点i3j3aijxiyj\sum^3_i\sum^3_j a_{ij}x^iy^j

概率方法

对比度越高,图像标准差越大。

像素空间基本关系

邻域:

  • 4邻域:N4(p)N_4(p)上下左右
  • 4对角邻域:ND(p)N_D{(p)}左上 左下 右上 右下
  • 8邻域:N8(p)N_8(p)周围一圈

**邻接性:**若两个像素邻接,那么空间上满足4、8或D邻域;灰度上应该属于同一个灰度值集合。

  • 4邻接:若p、q位置如图且灰度相似
  • 8邻接:若p、r位置如图且灰度相似
  • m邻接:若q在N4(p)N_4(p)中或者q在Nd(p)N_d(p)中,且绿色部分(4邻域)没有灰度相似的像素。

**通路:**从p到q的像素序列依次邻接,根据邻接类型定义4、8或m通路。

**连通:**定义一个集合S,若S中的p、q存在完全由S中的像素组成的通路,则p和q在S中连通。

**连通分量:**对于S中任意像素p,S中连通到p的像素集合叫做连通分量。

**连通集:**若S中仅有一个连通分量,则S叫做连通集。

**距离:**满足D(p,q)0,D(p,q)=D(q,p),D(p,z)D(p,q)+D(q,z)D(p,q)\ge0,D(p,q)=D(q,p),D(p,z)\le D(p,q)+D(q,z)的函数。

  1. 欧氏距离,圆形
  2. D4D_4距离,D4(p,q)=xs+ytD_4(p,q)=|x-s|+|y-t|,菱形,城市街区距离
  3. D8D_8距离,D8(p,q)=max(xs,yt)D_8(p,q)=max(|x-s|,|y-t|),方形,棋盘距离

第三章 灰度变换 空间滤波

这一章主要针对图像空间域进行操作,灰度变换就是对单个像素进行操作,而空间滤波就是针对一个邻域(常见方形)使用算子TT进行卷积操作,算子TT也可以叫做空间滤波器、核、模板、窗口。

g(x,y)=T[f(x,y)]g(x,y)=T[f(x,y)]

图像卷积运算

灰度变换

s=T(r)s=T(r)表示用TT处理原始像素rr得到处理后像素ss

名称 公式 作用
图像反转 s=L1rs=L-1-r 黑白反转
对数变换 s=c log(1+r)s=c\ log(1+r) 拓展暗像素值,压缩亮像素值。常用来可视化傅里叶频谱。
伽马变换 s=crγs=cr^\gamma 拓展暗像素值,压缩亮像素值。用于伽马校正,增强对比度、处理“冲淡”了的图像。
对比度拉伸 分段函数 手动指定曲线形状
灰度级分层 分段函数 手动指定某一范围灰度进行调整
比特平面分层 分段函数 把256级图像看做由8个1bit平面组成的图像。然后针对每个比特平面进行处理。低阶比特平面存储细节,而高阶存储整体。
直方图均衡、直方图匹配(规定化) 分段函数 在直方图的角度,均衡就是把直方图处理成近似横线,匹配就是把直方图处理成想要的形状。

反转变换与恒等变换与对数变换伽马变换

对比度拉伸灰度级分层

位平面分解

用于辅助决定量化位数是否充足、图像压缩、数字水印。

直方图均衡

针对比较难的直方图均衡进行计算方法介绍(不涉及原理公式推导)

  1. 计算直方图f(nk)f(n_k)
  2. 计算灰度分布频率pr(k)=f(nk)/Np_r(k)=f(n_k)/N
  3. 计算累计灰度分布频率gk=pr(ki)g_k=\sum p_r(k_i)
  4. 计算均衡后图像直方图round(gk(L1))round(g_k\cdot (L-1))。L为灰度层数。四舍五入累计概率×灰度最大值。
  5. 根据计算出的均衡直方图,将原图灰度映射到新图

直方图规定化

通过一个指定的函数产生一个特定的直方图。根据这个直方图确定一个灰度级变换。由此产生的新图像的直方图符合指定的直方图,这样的方法称为直方图匹配或直方图规定化

局部直方图均衡化

在一个小邻域内做直方图均衡化。

直方图统计

统计图像全局均值mGm_G和方差σG2\sigma_G^2,然后统计小领域的均值mmσ2\sigma^2,根据这四个值来进行操作,比如:将均值较小的地方(暗区域)和方差比较低但并非完全平滑的地方(低对比度区域)提升亮度。

g(x,y)={Ef(x,y),mk0mG and k1σGσk2σGf(x,y),otherwiseg(x,y)=\begin{cases}E\cdot f(x,y), \quad m \le k_0m_G\ and\ k_1\sigma_G \le \sigma \le k_2\sigma_G \\ f(x,y),\qquad otherwise\end{cases}

空间滤波

卷积操作g(x,y)=s=aas=bbw(s,t)f(x+s,y+t)g(x,y)=\sum^a_{s=-a}\sum^b_{s=-b}w(s,t)f(x+s,y+t)

名称 模版 作用
线性平滑 19 111111111\frac{1}{9} \cdot \ \begin{matrix} 1&1&1\\1&1&1\\1&1&1\\ \end{matrix} 平滑
高斯线性平滑 116 121242121\frac{1}{16} \cdot \ \begin{matrix} 1&2&1\\2&4&2\\1&2&1\\ \end{matrix} 加权平均,平滑
统计排序(非线性)平滑 取中值 去掉椒盐噪声效果好(但是可能改变图像的性质,一般不用于医学图像处理
拉普拉斯锐化 010141010\begin{matrix} 0&1&0\\1&-4&1\\0&1&0\\ \end{matrix} 微分算子,锐化边缘(需要加原图像
111181111\begin{matrix} 1&1&1\\1&-8&1\\1&1&1\\ \end{matrix} 加对角线的版本
非锐化掩蔽、高提升滤波 印刷和出版业常用
Sobel锐化 121000121\begin{matrix} -1&-2&-1\\0&0&0\\1&2&1\\ \end{matrix} x方向的一阶微分(需要加原图像
101202101\begin{matrix} -1&0&1\\-2&0&2\\-1&0&1\\ \end{matrix} y方向的版本
210101012\begin{matrix} -2&-1&0\\-1&0&1\\0&1&2\\ \end{matrix} 斜着的版本,朝着另一个方向斜也可以

拉普拉斯锐化

特点是模板所有数字和是0,这样是为了在平滑区域不改变。假如某个3x3区域全是1,那么计算之后的微分就是0。

拉普拉斯锐化后的结果是微分,需要和原图像相加或者相减(取决于中心是正数还是负数)。

拉普拉斯加上对角线是为了保证旋转不变性。

Sobel锐化

同样,所有数字和是0,使用的是一阶微分。0线的方向就是锐化的方向。权重2是为了平滑图像。

(注意下面和右边是正数)

一般使用x方向和y方向的绝对值之和作为梯度,此时非线性。

非锐化屏蔽

如图,原始信号模糊之后,再减去模糊信号能获得钝化模板。就是原始图像减去模糊图像得到被模糊掉的信号,然后把这个信号乘常数加回到原信号。

第四章 频率域滤波

就是通过傅里叶变换把图像从空域变换到频域进行处理。

IDFT(H(u,v)DFT(f(x,y)))\bold{IDFT}(H(u,v) \cdot \bold{DFT}(f(x,y)))

频域和时域通过卷积操作相通,但是根据信号与系统的规律,我们之前用的有限的时域卷积核对应着无限大的频域,而这一章从频域的角度使用有限的频域卷积核,对应着无限大的时域卷积核。

低通滤波器用来平滑图像,高通滤波器用来锐化图像。

名称 公式(D0D_0是截止频率) 作用
理想低通滤波 ILPF H(u,v)={1,D(u,v)D00,D(u,v)>D0H(u,v)=\begin{cases}1, D(u,v)\le D_0 \\ 0, D(u,v)> D_0 \end{cases} 强行截断频域的高频信号,会产生振铃效应
布特沃斯低通BLPF H(u,v)=11+[D(u,v)/D0]2nH(u,v)=\frac{1}{1+[D(u,v)/D_0]^{2n}} n是阶数,越高越快从1到0
高斯低通滤波GLPF H(u,v)=exp(D2(u,v)2D02)H(u,v)=exp(-\frac{D^2(u,v)}{2D_0^2})
理想高通滤波 IHPF H(u,v)={0,D(u,v)D01,D(u,v)>D0H(u,v)=\begin{cases}0, D(u,v)\le D_0 \\ 1, D(u,v)> D_0 \end{cases} 1低通1-低通
布特沃斯高通BHPF H(u,v)=11+[D0/D(u,v)]2nH(u,v)=\frac{1}{1+[D_0/D(u,v)]^{2n}} 1低通1-低通
高斯高通滤波GHPF H(u,v)=1exp(D2(u,v)2D02)H(u,v)=1 - exp(-\frac{D^2(u,v)}{2D_0^2}) 1低通1-低通
同态滤波 H(u,v)=(γHγL)[1exp(cD2(u,v)2D02)]+γLH(u,v)=(\gamma_H-\gamma_L)[1 - exp(-c\frac{D^2(u,v)}{2D_0^2})]+\gamma_L 本来GHPF是0->1,然后压缩到γHγL\gamma_H-\gamma_L然后再上移。通过c来控制锐利程度。
带阻滤波器 DWD2D02\frac{DW}{D^2-D_0^2}代替D0D\frac{D_0}{D},高斯exp括号内的2忽略。 能够有效去除周期噪声
带通滤波器 1-带阻滤波器

高频强调滤波器

g(x,y)=IDFT{[k1+k2Hhp(u,v)]F(u,v)}g(x,y)=\bold{IDFT}\{[k_1+k_2H_{hp}(u,v)]F(u,v)\}

k2k_2控制高频贡献,k1k_1控制原点偏移量,使零频率不被过滤。

同态滤波

同态滤波的思想就是把图像的照射分量反射分量分开处理。照射分量就是光照在某个物体上的强度,而反射分量更接近与反射系数,值域为[0,1][0,1],表示光在某个物体上的反射强度。

“同态”指的是特殊的映射,比如f(x)=exf(x)=e^x,有f(a+b)=f(a)×f(b)f(a+b)=f(a)\times f(b),把原本的加法映射成乘法。

  1. 图像建模为f(x,y)=i照射(x,y)r反射(x,y)f(x,y)=i_{照射}(x,y)r_{反射}(x,y),使用对数操作转换成相加ln f(x,y)=ln i(x,y)+ln r(x,y)ln\ f(x,y)=ln\ i(x,y)+ln\ r(x,y),这一步就是“同态”的关键。

  2. 然后就可以用傅里叶变换了FT[ln f(x,y)]=FT[ln i(x,y)]+FT[ln r(x,y)]\bold{FT}[ln\ f(x,y)]=\bold{FT}[ln\ i(x,y)]+\bold{FT}[ln\ r(x,y)]。把上式记作Z(u,v)=Fi(u,v)+Fr(u,v)Z(u,v)=F_i(u,v)+F_r(u,v),则用可以用滤波器进行处理H(u,v)Z(u,v)=H(u,v)Fi(u,v)+H(u,v)Fr(u,v)H(u,v)Z(u,v)=H(u,v)F_i(u,v)+H(u,v)F_r(u,v)

  3. 对于Fi(u,v)F_i(u,v)Fr(u,v)F_r(u,v),低频成分通常与照射光有关,而高频成分与反射相联系,所以使用修改过后的高斯高通滤波器作为H(u,v)H(u,v)。之后就傅里叶反变换回去IFT[HZ]=IFT[HFi]+IFT[HFr]\bold{IFT}[H\cdot Z]=\bold{IFT}[H\cdot F_i]+\bold{IFT}[H\cdot F_r]。再通过取指数把加法转换回乘法。

第五章 图像复原与重建

g(x,y)g(x,y)是退化图像。

图像复原与图像增强的区别

图像复原是客观过程,识图恢复图像原来的面貌,有客观的测量方法;而图像增强使从主观视觉角度改善图像质量,为了人类视觉而进行优化。

图像噪声是什么?

图像噪声指造成图像失真、质量下降的图像信号,主要来源于图像的获取和传输过程。噪声根据统计特性可以分为周期噪声随机噪声,还可能有空间特性(相关性)或者频率特性。随机噪声可以用概率密度函数(PDF)来建模,有高斯噪声、瑞利噪声、伽马噪声等。**脉冲噪声(椒盐噪声)**指的是数字化最大值或最小值的噪声。

名称 模版 / 公式 作用
算术均值滤波器 19 111111111\frac{1}{9} \cdot \ \begin{matrix} 1&1&1\\1&1&1\\1&1&1\\ \end{matrix} 平滑图像来降低噪声,但是不抗椒盐噪声
几何均值滤波器 [g(x,y)]1mn[\prod g(x,y)]^{\frac{1}{mn}}或者exp(19log a+19log b+...)exp(\frac{1}{9}log\ a + \frac{1}{9}log\ b + ...) 丢失的细节更少,但是不抗椒盐噪声
谐波均值滤波器 mn[1/g(x,y)]1mn\cdot [\sum1/g(x,y)]^{-1} 处理高斯噪声和盐噪声,不抗椒噪声
逆谐波均值滤波器 g(s,t)Q+1g(s,t)Q\frac{\sum g(s,t)^{Q+1}}{\sum g(s,t)^{Q}} Q>0Q>0抗椒,Q<0Q<0抗盐,Q=0Q=0就是算术均值,Q=1Q=-1就是谐波均值。
中值滤波器 找中值 椒盐噪声
最大值/最小值/中点滤波器 找最大值、最小值、最大值与最小值的平均 前两者只抗椒盐噪声中的一种,而后者处理高斯和均匀噪声
修正后阿尔法均值滤波器 把最大最小值去掉再求平均,去掉的值数量为dd 高斯噪声和椒盐噪声混合
自适应局部降低噪声滤波器 g(x,y)ση2σL2[g(x,y)mL]g(x,y)-\frac{\sigma^2_\eta}{\sigma^2_L}[g(x,y)-m_L] ση2\sigma^2_\eta是噪声方差,需要估计。剩下两个是局部的方差和均值。需要避免第二项是负值。
自适应中值滤波器 见下 能够比传统中值滤波器处理概率更大的椒盐噪声
陷波滤波器 见下 最有用的选择性滤波器

自适应局部降噪滤波器

噪声方差为0的时候返回原图像,噪声方差>=图像方差时取算术均值。

自适应中值滤波器

  1. 选择窗口SxyS_{xy},找到中值zmedz_{med},假如中值不符合zmin<zmed<zmaxz_{min}<z_{med}<z_{max},则扩大窗口再选中值,直到窗口大小到达规定的SmaxS_{max}
  2. 找到中值之后,判断窗口中心点符不符合zmin<zxy<zmaxz_{min}<z_{xy}<z_{max},假如符合就不变,不符合就改成之前找到的中值。

假如噪声密度比较小,那么窗口就不会开太大,能够保留细节。

陷波滤波器

陷波滤波器必须是对称的。特殊的,位于原点处时是低通/高通滤波器。

退化模型

假设退化模型是线性不变的,那么受损图像,从时域可以看作是g(x,y)=h(x,y)f(x,y)+η(x,y)g(x,y)=h(x,y)*f(x,y)+\eta(x,y),从频域可以看作是G(u,v)=H(u,v)F(u,v)+N(u,v)G(u,v)=H(u,v)F(u,v)+N(u,v)

进行图像复原的关键是获得H,ηH,\eta。获取HH可以基于实验法、观察法、数学建模法。

逆滤波

获取之后,假设η=0\eta=0,那么做逆滤波F(u,v)=G(u,v)H(u,v),f^(x,y)=IDFT(F(u,v))F(u,v)=\frac{G(u,v)}{H(u,v)}, \hat f(x,y)=\bold {IDFT}(F(u,v))。但是当H(u,v)H(u,v)很小时,FF会很大,逆滤波复原会不稳定。

维纳滤波

目标:寻找一个滤波器使得滤波后图像与原图像的MSE最小。维纳滤波器假定图像与噪声均为平稳随机过程

F^(u,v)=H2H2+SηSfG(u,v)H\hat F(u,v)=\frac{|H|^2}{|H|^2+\frac{S_\eta}{S_f}}\cdot \frac{G(u,v)}{H}

其中SηS_{\eta}是噪声功率谱,SfS_f是原始图像功率谱,SηSf\frac{S_\eta}{S_f}常用常数代替。

求二维傅里叶幅度

第六章 彩色图像处理

彩色模型

RGB

从光的三原色得出了RGB色彩模式(加色模式)

CMY(K)

从原色相加的二次色得出了CMY(K)色彩模式(减色模式)

HSI

但是人最直观的彩色模型是HSI(色调、饱和度、亮度),通常所说的色度是色调和饱和度的统称。HSI指的是Hue, Saturation, Intensity,其中I就是RGB的平均值。

YUV

用于PAL制式的彩色电视信号传输,YY是RGB的加权平均数,U=BY,V=RYU=B-Y, V=R-Y

YCbCr

JPEG使用的彩色空间,Y和YUV一样,而Cb是U乘一个常数,Cr是V乘一个常数。

伪彩色

由于人眼对彩色的识别度更高,所以常将黑白照片根据灰度级人工分层成不同的颜色。

全彩色图像处理

  1. 可以分别处理每一个分量
  2. 也可以统一处理是三个分量
  3. 也可以只处理一个分量(比如调整亮度分量,做直方图均衡;或者把饱和度分量提高,增强对比度)

第九章 形态学滤波

图像的形态学指的是对图像形状和结构的分析及处理,本章主要讨论二值图像。

形态学滤波定义一个类似卷积核的领域,叫做结构元素Structure Element,可以是任意尺寸、任意形状,但是实际中一般填充为矩形。

逻辑运算

击中hit、击不中miss、包含fit

腐蚀erosion、膨胀dilation

腐蚀能够将图像的边界向内缩,膨胀则向外张

**腐蚀:**当结构元素(se)包含(fit)于二值图像f(x,y)f(x,y)时,中心点为1.(即进行操作)。可以用ABA\ominus B表示。

**膨胀:**当结构元素(se)击中(hit)于二值图像f(x,y)f(x,y)时,中心点为1.(即进行操作)。可以用ABA\oplus B表示。

腐蚀和膨胀不是一对可逆操作,但有对偶性。

开运算、闭运算

开运算即先腐蚀后膨胀,用ABA\circ B表示。作用为区分开物体、消除细突出物、降低噪声、平滑轮廓。

闭运算即先膨胀后腐蚀,用ABA\bullet B表示。作用为消除小孔洞、填补断裂。

开运算

闭运算

应用

边界提取

先腐蚀,然后减去腐蚀。

A(Ase)A-(A\ominus se)

孔洞填充

  1. 先选择一个在孔洞内的点集合X0X_{0}
  2. Xk=(Xk1se)AX_k=(X_{k-1}\oplus se) \cap \overline A
  3. 假如Xk=Xk1X_k=X_{k-1},算法结束,取XkAX_k \cup A作为结果。

即对选取的点进行条件膨胀,用图像AA取反来限制。

提取连通分量

  1. 先选择一个在所需连通分量里的点集合X0X_0
  2. Xk=(Xk1se)AX_k=(X_{k-1}\oplus se) \cap A
  3. 假如Xk=Xk1X_k=X_{k-1},算法结束,取XkX_k作为结果。

和孔洞填充很像,直接用图像AA来限制。

第十章 图像分割

图像分隔技术就是把图像分隔成若干个不同的区域。一般基于区域之间亮度值的不连续性和区域内的相似性。

点的检测

模板和要为0,从而在平滑区域响应为0。并且设置阈值可以避免检测过于灵敏。

线的检测

类似的检测方法,模板系数和要为0

边缘检测

边缘可能是对象的分界处、也可能是对象内部不同材料的分界处。在边缘上有边缘法线、边缘方向如图。而边缘附近的灰度分布有下面三种。

边缘检测的步骤:平滑降噪 -> 边缘点检测 -> 边缘定位

  • 平滑降噪:基于导数计算,所以容易受到噪声影响,但是平滑的同时也导致边缘强度的损失。
  • 边缘点检测:微分算子能够突出边缘,然后通过设置阈值来提取边缘点。
  • 边缘定位:精确确定边缘的位置。从候选点集中选择真实成员。

Sobel梯度法

Sobel既能提取x和y方向的微分,还有一定的平滑效果。提取出梯度之后,设置一个阈值,大于threshold的就设置为1,其余为0.

二阶导数 LoG法

二阶导数有以下优势:① 可以利用零交叉性质定位边缘,还可以确定一个像素是在暗的一边还是亮的一边。

边缘检测一般不用拉普拉斯算子的原始形式,因为①二阶导数对噪声更加敏感了;②对于一个边缘会产生两个幅值;③不能检测边缘方向。

所以一般用LoG方法

  1. 用高斯滤波器进行平滑降噪
  2. 用二阶拉普拉斯检测边缘点
  3. 根据二阶导数零交叉点定位边缘

所以LoG算子定义为高斯平滑的二阶导数:

Gσ(x,y)=12πσ2exp(x2+y22σ2)2Gσ(x,y)=12πσ4(x2+y2σ22)exp(x2+y22σ2)G_\sigma(x,y)=\frac{1}{2\pi\sigma^2}\cdot exp(-\frac{x^2+y^2}{2\sigma^2}) \\ \nabla^2G_\sigma(x,y)=\frac{1}{2\pi\sigma^4}(\frac{x^2+y^2}{\sigma^2}-2)\cdot exp(-\frac{x^2+y^2}{2\sigma^2})

然后寻找零交叉点:以p为中心的3x3邻域,比较左/右、上/下和两个对角的值,如果符号不一样且差值超过了一个阈值,那么这个点就是零交叉点。

Canny法

没说很详细,不考吧大概

  1. 用高斯滤波器进行平滑降噪
  2. 用一阶偏导的有限差分计算梯度幅值和方向
  3. 对梯度幅值进行非极大值抑制
  4. 双阈值算法和连接分析来检测并连接边缘

直方图阈值分割法

通过设置一个阈值,根据同一个区域的相似性进行分割。最简单的就是通过直方图找到阈值,但是会受到噪音的干扰。可以选取谷底,也可以选取两个峰值之间某个固定位置。

Isodata门限算法

  1. 选取门限的初值T0T_0
  2. TiT_i分隔图像,分成G1G_1G2G_2两类像素
  3. 计算G1G_1G2G_2的平均灰度μ1\mu_1μ2\mu_2
  4. 令新门限Ti+1=12(μ1+μ2)T_{i+1}=\frac{1}{2}(\mu_1+\mu_2)
  5. 重复2-4,直至ΔT=0\Delta T=0

Otsu最佳全局阈值法

  1. 计算输入图像的归一化直方图

  2. 对于阈值k=0,1,...,L1k=0,1,...,L-1计算像素被分类到[0,k][0,k]的概率P1(k)P_1(k)

  3. 对于阈值k=0,1,...,L1k=0,1,...,L-1计算像素被分类到[0,k][0,k]的平均灰度m(k)=i=0kipim(k)=\sum^{k}_{i=0}ip_i

  4. 计算整个图像的平均灰度mG=m(L1)m_G=m(L-1)

  5. 对于阈值k=0,1,...,L1k=0,1,...,L-1计算类间方差

    σB2(k)=[mGP1(k)m(k)]2P1(k)[1P1(k)]\sigma^2_B(k)=\frac{[m_GP_1(k)-m(k)]^2}{P_1(k)[1-P_1(k)]}

    其实类间方差是由σB2=P1(m1mG)2+P2(m2mG)2\sigma_B^2=P_1(m_1-m_G)^2+P_2(m_2-m_G)^2的化简得来的。

  6. σB2(k)\sigma_B^2(k)最大的kk^*值就是OtsuOtsu阈值。如果不唯一,则取每个kk^*的平均。

可变阈值处理

把图像分成许多小块,然后分别用不同的门限进行分割。