跳转至

Binary Image and Morphological Operation

Binary image

优点:更小的内存需求 运行速度更快 为二值图像开发的算法往往可以用于灰度级图像 更便宜 缺点:应用范围毕竟有限; 更无法推广到三维空间中表现力欠缺,不能表现物体内部细节无法控制对比度

图像二值化:

(1)二值图像

二值图像(Binary Image)中,像素值限定为 \(0\)\(1\)(编程中一般用 \(0\)\(255\) 来构造二值图像)。

  • 优点:占用更少内存、更高效,有时可应用于灰度图像,同时更加便宜。
  • 缺点:应用领域有限,不能用于三维数据,表达能力较弱,难以传达视觉细节,也不能控制对比度。
(2)大津算法(Otsu's algorithm)

在把灰度图转换为二值图像的时候,一个基本的想法是找到一个合适的阈值(Threshold),像素点值比阈值大的设为\(255\),比阈值小的设为\(0\)。即为如下:

\(\left\{ \begin{array}{**lr**} I(x,y) = 0\ if\ I(x,y)\leq Threshold \\ I(x,y) = 255\ if\ I(x,y)\geq Threshold \\ \end{array} \right.\)

  • 而大津算法就是一种自动确定该合适阈值的方法,旨在找到一个阈值,将图像分成两个类别(前景和背景),以使两个类别内的方差最小,同时两个类别之间的方差最大,步骤如下。

a.统计像素点的最大值和最小值

b.对于每个可能的阈值,计算分成两个类别后的背景和前景的内部协方差和外部协方差。

c.选择最大外部和最小内部协方差对应的 threshold作为二值化阈值。

d.应用选择的阈值将图像分割成前景和背景。

其中,最大外部方差最小内部方差是等价的,我们选择找到最大外部方差,推导过程如下:

设图像尺寸为\(M\ *\ N\),其二值化的最佳阈值为\(T\),该阈值将图像分为背景和目标两个类别。其中属于背景的像素点数量为\(N0\),属于目标的像素点数量为\(N1\),背景像素点数占整幅图像的比例\(\omega0\),其灰度均值\(μ0\),目标像素点数占整幅图像的比例为\(ω1\),其灰度均值为\(μ1\) ,整幅图像的灰度均值为\(\mu\)

\(\omega_0=\frac{N0}{M*N}\\\) \(\omega_1=\frac{N1}{M*N}\) \(N0+N1=M*N\\\) \(\omega0\ + \omega1\ = 1\\\)

\(\mu = \frac{\mu0*N0+\mu1*N1}{M*N}=\mu0\omega0\ + \mu1\omega1\\\)

\(类内方差(Within-class\ variance)公式:\)

\(\sigma_{Withen}^{2}=\omega_{0} \sigma_{0}^{2}+\omega_{1} \sigma_{1}^{2} \\\)

\(类间方差(Between-class\ variance)的公式:\sigma_{Between}^{2}=\sigma^{2}-\sigma_{Within}^{2}\\\)

\(有此可推导得到\)

\(\sigma_{Between}^{2}=\omega_{0}(\mu_{0}-\mu)^{2}+\omega_{1}(\mu_{1}-\mu)^{2}\)

\(\ \ \ \ \ \ \ \ \ \ \ \ \ =\omega0(\mu0-\omega0\mu0-\omega1\mu1)^{2}+\omega1(\mu1-\omega0\mu0-\omega1\mu1)^{2}\) \(\ \ \ \ \ \ \ \ \ \ \ \ \ =\omega0(\omega1\mu0-\omega1\mu1)^{2}+\omega1(\omega0\mu1-\omega0\mu0)^{2}\\\) \(\ \ \ \ \ \ \ \ \ \ \ \ =(\omega0\omega1^{2}+\omega1\omega0^{2})(\mu1-\mu0)^{2}\\\)

\(\ \ \ \ \ \ \ \ \ \ \ \ =\omega0\omega1(\mu0-\mu1)^{2}\\\)

  • 即在计算最大外部和最小内部方差时,只需判断\(\omega0\omega1(\mu0-\mu1)^{2}\)取得最大值即可

Step 1: 确定原始图像中像素的最大值和最小值

Step 2: 最小值加1作为初始threshold对原始图像进行二值化操作

Step 3: 根据对应关系确定前景和背景,分别计算当前threshold下的内部协方差和外部协方差

Step 4: 回到Step 2直到达到像素最大值

Step 5:找到最大外部和最小内部协方差对应的threshold.

  • 前述thresholding策略推广到彩色图像,同时考虑rgb三个通道,我们就可以针对特定的色彩进行thresholding操作,

改进

  • 局部自适应操作设定一个局部窗口,在整个图像上滑动该窗口
  • 对于每一窗口位置,确定针对该窗口的threshold

  • 相比全局大津法,我们依次枚举灰度图中的每个像素\((i,j)\),以用户输入一个整数为边长,在\((i - length / 2, j - length / 2, i + length / 2, j + length / 2, i, j)\)这个正方形中进行大津法,得到阈值后仅对\((i,j)\)点进行二值化处理。

  • 相比全局大津法,局部大津法耗时显著增加。

Morphological Operation

​ 数学形态学(也称图像代数)是一种用于分析图像形态和结构的工具。其基本思想是通过利用结构元素来度量和提取形状,从而实现对图像的分析和识别。图像形态学操作基于集合论,可以简化图像,去除不需要的结构,同时保留主要的形状特征。在这里有四种形态学操作符:膨胀、腐蚀、开运算和闭运算。

​ 在下面的介绍中,我们的 A 指二值图像; B 指二值模板,称为结构元(structure element)。

膨胀

​ 形态学的膨胀操作是图像处理中的一种基本操作,通常用于增强图像中的特定目标或结构,使其更加显著和容易检测。膨胀操作的主要思想是利用一个称为结构元素的小窗口或模板,沿着图像的各个方向扫描,并根据结构元素与图像的重叠程度来改变图像的像素值。

​ 膨胀操作的结果通常是增强了原始图像中的目标或特定结构。这是因为它可以将目标区域扩展,填充空洞,使边缘更加清晰。因此,膨胀操作可用于改善图像中的特定特征,使它们更容易检测和分析。 $$ A⊕B={ z|(B)_z ∩A\ne∅ } $$

1

  • Dilation: Bridging gaps in images

  • 由B对A膨胀所产生的二值图象D是满足以下条件的点(x,y)的集合:

如果B的原点平移到点(x,y),那么它与A的交集非空。

腐蚀

​ 形态学的腐蚀操作是图像处理中的一种基本操作,通常用于减小图像中的特定目标或结构,从而弱化或消除一些特征。腐蚀操作的主要思想是利用一个称为结构元素的小窗口或模板,沿着图像的各个方向扫描,并根据结构元素与图像的重叠程度来改变图像的像素值。

​ 腐蚀操作的结果通常是减小了原始图像中的目标或特定结构。这是因为它可以去除小的特征、缩小目标区域或消除噪声。腐蚀操作可用于弱化图像中的特定特征,使其更容易检测和分析。 $$ A⊖B={(x,y)|(B)_{xy} ⊆A} $$

2

  • 由B对A腐蚀所产生的二值图象E是满足以下条件的点(x,y)的集合:

如果B的原点平移到点(x,y),那么B将完全包含于A中

Duality

3

Application: Boundary Extraction

4

Application: Filling holes!

5

开操作

​ 形态学的开操作是一种常见的图像处理操作,它结合了腐蚀(erosion)和膨胀(dilation)操作,通常用于去噪和分割图像中的目标。开操作的主要思想是首先对图像执行腐蚀操作,然后再对其执行膨胀操作,这个过程通常使用一个特定的结构元素进行。

​ 开操作在图像处理中常用于去除噪声、分割目标、减小目标区域的不规则性以及减小目标之间的干扰。它也有助于改善二值化图像的质量,以便后续的分析和特征提取。 $$ A ◦ B = (A ⊖ B) ⊕ B $$

  • 用来在纤细点处分离物体,消除小物体、平滑其边界的同时并不明显改变其面积。

闭操作

​ 形态学的开操作是一种常见的图像处理操作,它结合了腐蚀(erosion)和膨胀(dilation)操作,通常用于去噪和分割图像中的目标。开操作的主要思想是首先对图像执行腐蚀操作,然后再对其执行膨胀操作,这个过程通常使用一个特定的结构元素进行。

​ 闭操作在图像处理中常用于去除小孔、连接断开的线条、填充不规则目标的内部空洞、增强图像中的连通区域,平滑其边界的同时并不明显改变其面积。它也有助于改善二值化图像的质量,以便后续的分析和特征提取。 $$ A • B = (A ⊕ B) ⊖ B $$ 7 6


最后更新: 2024年3月25日 12:53:47
创建日期: 2023年11月5日 11:09:32