计算机视觉
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2章 图像边缘、角点检测

2.1 图  像

底层计算机视觉的主要研究对象为图像处理,实际上可以简而言之为从单幅或多幅二维投影图像(或视频序列)中计算出视觉所需要的客观参数。因此图像处理可以认为是计算机视觉的基础。

图像往往伴随图形的概念。一般认为,图像指采用像素点来表示客观世界的数据形式,如大家常见的数码相机拍摄的照片。而图形一般是指采用具有方向、长度、形状等来表示的矢量图,例如,在标准C语言中调用其图形库而画出来的椭圆或者动画等。尽管现代计算机视觉与图形学密切相关,但本书中不对此进行专门论述,感兴趣的读者可参考最新的国际期刊和会议文献,了解图形学与计算机视觉的联系。

考虑到在实际使用中,位图的概念应用比较广泛,这里以位图为例,对图像进行简单的介绍。

图2.1中显示的是一幅故宫的图像及其局部放大后的图像。其中,放大后的图像手工标记了网格,每个小格表示一个像素(Pixel)。若不采用手工标记网格的方式,直接采用局部放大,则有类似如图2.2所示的效果。其中,最右边的局部放大图像有明显的小块效应,这个小块为原始图像的单个像素在显示器上显示的效果。从图2.2可以明显看出,图像具有局部平滑的特性。

img

图2.1 数字图像及其局部放大后的效果

img

图2.2 一幅灰度图像及其局部放大后的效果

图像在计算机中采用矩阵的形式来表示。一般在Windows系统中,采用位图(Bitmap)来表示图像。从图2.2的图像中可以看出,图像由像素构成,每个像素实际上采用二进制位(bit)来表示。以灰度图像为例,若灰度图像的每个像素值用8 bit表示,则表明该图像的每个像素有28种可能的值,习惯用0~255这256个数值表示,每个数值表示一种灰度的级别。0表示黑色,255表示白色。这样的8 bit的灰度图像称为8位图像,若每个像素用nbit表示,则称其为n位图像。常见的n包括1、2、4、8、10、16和24等。

实际上,位数一般也可以用来表示图像的颜色数目,如图2.3所示。

img

图2.3 比特数表示图像的颜色数目

通常所说的8位灰度图像,即为256色的灰度图像。根据色度学中三基色原理,自然界中的颜色千变万化,若直接对这些颜色进行编码,则无法采用数字化的方法来有效表达。因此,实际表示的时候一般采用红绿蓝(RGB)三基色来进行表示。通过第1章中的色度图可知,采用三基色的线性组合可以有效地表示色度图中的绝大部分颜色。实际上,在色度图中确定三基色和白点(White Point)的坐标后,三基色所形成的三角形色度区域内的所有颜色都可以采用三基色的线性组合表示出来。

上述的24位图像一般是指采用RGB三基色,每种基色采用8 bit来表示的RGB彩色图像,也是通常所称的真彩色图像。