- Visual C++数字图像模式识别典型案例详解
- 冯伟兴 梁洪 王臣业编著
- 1152字
- 2025-03-16 03:50:36
4.2.1 图像的标识及特征提取
在聚类分析中,一幅图像中一般含有多个物体,要想对这些物体进行归类,必须先找到各个物体,让计算机能够识别它们,因此首先要确定物体是否是独立的目标物体和图像中有几个物体,这就需要对不同物体进行标识。下面介绍几个基本概念。
1.邻域
与像素(x, y)对应的点集合{(x+p, y+q)|((p, q)是一对有意义的整数)}称为像素(x, y)的邻域。离散图像处理中常取4点邻域和8点邻域,并分别记作:
F4(x, y)={f (x+1, y), f (x, y+1), f (x-1, y), f (x, y-1)}
F8(x, y)={f (x-1, y-1), f (x-1, y), f (x-1, y+1), f (x, y-1), f (x, y+1), f (x+1, y-1), f (x+1, y), f (x+1, y+1)}
2.连通
设有像素f (x, y)= f (x+i, y+j),i、j在图像区域R内,f (x, y)与f (x+i, y+j)路径中的邻接点存在4点邻域连通成分(见图4-1a)或8点邻域连通成分(见图4-1b),则点f (x, y)与f (x+i, y+j)连通。

图4-1 连通域
3.连通成分
二值图像中互相连通的0-像素集或1-像素集称为连通成分。被1-像素包围的0-像素称为孔。1-像素连通成分不含孔时,称为单连通成分,含有一个或多个孔的连通成分称为多重连通成分。
4.标记
分割后的一帧图像内可能存在多个连通成分,每个非连通成分都对应一个目标图像区,给各目标图像区分配相应标号的工作称为标记。
在二值图像中进行物体标识,采用8点连通域判别方法,如图4-2所示,图中有A,B,C等3个不同连通的物体。

图4-2 物体标识示意图
对这3个物体的标识过程如下:
(a)从左到右,从上到下逐个像素扫描。
(b)若该点的左上、正上、右上及左前点共4个点的像素值都不为物体,则把数标加1,且此数组值为1。
(c)采用(行坐标,列坐标)方式标记物体。若遇到(1,1)像素为物体A,依次判断该像素点的右上(0,2),正上点(0,1),左上点(0,0)及左前点(1,0)。右上点(0,2)的优先级最高,而左前点(1,0)的优先级最低。
(d)若右上点为物体,则当前点跟右上点标记为相同的值。如当前点(2,2),则其右上点(1,3)为物体,所以标记当前点(2,2)与右上点(1,3)相同的值。
(e)若右上点不为物体,则判断正上点。如当前点(5,4),其右上点(4,5)不是物体,则判断正上点(4,4)为物体,所以标记当前点(5,4)与正上点(4,4)相同的值。
(f)同理,若当前点的右上点、正上点都不为物体,用同样的方法依次判断左上点,若左上点也不为物体,再判断左前点。
(g)若当前点(1,8)的右上点(0,9)、正上点(0,8)、左上点(0,7)及左前点(1,7)都不为物体,则当前点的值在原来的标记上加1,以此标记来作为另一物体的区别。
(h)其中有一个特别调整:从图4-2可见(10,2)是一个新加标记的点,当前点(10,3)的右上点(9,4)及左前点(10,2)为不同标记,正上点和左上点不为物体,则当前点(10,3)标记同右上点(9,4)置相同的值。此时,从头到尾扫描图像,把所有同(10,2)标记相同的像素值都标记成与右上点(9,4)同样的值。有多少个像素点转换,则统计右上点像素值(标记值)的数组就加多少。而把统计左前点的像素值(标记值)的数组置0。