文章目录

  • 3.1 数据结构
  • 3.1.1 图像
  • 3.1.2 区域
  • 3.1.3 亚像素精度轮廓

3.1 数据结构

在深入研究机器视觉算法之前,我们必须分析机器视觉应用中涉及到的基本数据结构。本节介绍表示图像,区域和亚像素轮廓的数据结构。

3.1.1 图像

在机器视觉里,图像是基本的数据结构,它所包含的数据通常是由图像采集设备传送到计算机的内存中的。

根据摄像机的类型不同,传感器的光谱响应通常包括全部可见光谱和部分近红外光谱。正因为这样,黑白摄像机会返回每个像素所 对应的一个能量采样结果,这些结果组成了一幅单通道灰度值图像。而对于RGB影色摄像机,它将返回每个像素所对应的三个采样结果,也就是一 幅三通道图像。单通道摄像机和三通道摄像机是机器视觉应用中所涉及到的两类基本的图像传感器。
很直观地,图像通道可以被简单地看作是一个二维数组,这也是程序设计语言中表示图像时所使用的数据结构。

在几乎所有的情况下,图像采集设备不但在空间上把图像离散化,同时也会把灰度 值离散化到某一固定的灰度级范围内。

计算机视觉中的数据清洗 机器视觉与数据存储_计算机视觉中的数据清洗


计算机视觉中的数据清洗 机器视觉与数据存储_计算机视觉中的数据清洗_02

3.1.2 区域

机器视觉的任务之一就是识别图像中包含某些特性的区域,比如执行一个阐值分割处理。因此, 至少我们还需要一种数据结构,它可以表示一幅图像中一个任意的像素子集。

在很多情况下,将图像处理限制在图像上某一特定的感兴趣区域 (ROI)内是极其有用的。

计算机视觉中的数据清洗 机器视觉与数据存储_机器视觉_03

对任意一幅图像,可以用一个包含 该图像所有像素点的矩形感兴趣区域来表示此幅图像。所以,从现在开始, 我们默认每幅图像都有一个相关的感兴趣区域存在, 这个感兴趣区域用R 来表示。

从抽象的观点看, 讨论图像中的区域将使问题更简单。

以二值图像来描述区域的方法存在着一个明显的缺陷:它必须存储那些区域外的(有时是非常多的)点。此外,这种亵示法的效率也不高:图像上的每个点至少需要占用 一个位来保存。

行程编码通常可以显著地降低内存的使用。另外,行程编码仅存储区域内的点,所以无须检查像素是在区域内还是在区域外。行程编码的这两个优点可以显著减少执行的时间。并且,使用行程编码可以容易地表示含有负坐标的区域。

我们可以使用链表或数组来保存采用行程编码描述的多个区 域,此时由于每个区域的信息是被独立保存和处理的,因此处理交叠区域也没有问题。

3.1.3 亚像素精度轮廓

因为某些应用中需要达到比图像像素分辨率更高的精度,因此从图像中提取亚像素精度数据是很重要的。亚像素数据可以通过亚像素阔值分割或亚像素边缘提取来获得。

计算机视觉中的数据清洗 机器视觉与数据存储_机器视觉_04


计算机视觉中的数据清洗 机器视觉与数据存储_数据结构_05