二值图像是一种简单的图像格式,它只有两个灰度级,即\\\\\\\"0\\\\\\\"表示黑色的像素点,\\\\\\\"255\\\\\\\"表示白色的像素点。
三、图像的几何校正
CCD获取的图像有时几何变形严重,细心的读者可以发现有时作为直线在获取的图像中已经类似为弧线,所以在图像处理系统中,经常要要对图像消除畸变。
设原图像(未畸变图像)用(
)坐标系,畸变图像坐标系为(
),两个坐标系之间的关系为:
=h
(
) ;
=h
(
) ;
在消除摄像头几何畸变的已有工作中,可以将校正方法分为两类:一类是坐标转换函数h
、h
已知的情况下对图像进行校正,另一类是对这两个函数未知的情况下对图像进行校正。
设
为待校正的畸形图像,g(x,y)为校正后所得到的图像,两个图像的坐标关系h
,h
是已知的情况下,这种校正方法就是根据这些函数确定与g(x,y)图像中点(x,y)相对应的(
),由对应点的灰度级设置g(x,y)。若点(
)正好落在f中的数字化网格上,则用该网格的灰度值来确定g(x,y)的值;但是一般情况下,(
)不一定是整数,既不一定落在数字化网格上,通常有两种方法解决这种问题:1)找到最接近(
)的网格,由该网格的灰度值来确定g(x,y)的灰度;2)用(
)周围四个相邻的网格点的灰度的加权内插来作为g(x,y)的值,特殊情况可以选取均值。这种方法对于图像的几何尺寸的缩小、放大和图像旋转的应用都能取得较好的效果。
在不知道两个坐标关系的情况,对于大面积的图像来讲不一定是线性畸变,但是取一小块却可以近似认为是线性畸变。那么就可以将畸变系统和校正系统坐标用下列线性方程来联系:
;
;
将畸变图像按具体的情况和经验分成若干小区,每个小区找三个点,利用已知图像和经验数据找到对应的点,根据这种关系确定两个坐标系之间的坐标关系,既上述式中的各个系数,然后在按已知坐标关系的情况校正图像。
在实际图像处理系统中,我们得到的图像和校正图像的坐标转换关系是不可预知的,采用上述第二种情况的处理方法,牵涉到畸变图像的控制点的选取和确定校正后的控制点的位置,这样所需工作量就很大,为此,可以采用一种计算机自动识别控制点和确定控制点的坐标的方法。
一般情况下,我们可以近似认为以CCD光轴为中心的一个小的圆形区域形成的图像没有畸变或畸变很小可以忽略不记,正是基于上述考虑,我们以CCD光轴在水平面上的投影点为中心确定一个正方形,在该正方形的四个顶点的位置作四个"十"字型,"十"字型的交点对应着四边形的端点,以这四个点来作为控制点,在图像中确定控制点后,根据考试场地的各边端点与控制点的坐标关系,确定校正后的边界位置。
在上述方法实现校正几何畸变的过程中,最重要的是如何自动判别控制点,这里介绍采用模板匹配的方法识别"十"字型,针对"十"字交叉线会出现多种不规则的现象,共设计了四个模板,各个模板如图四所示:模板一用于识别图像内垂直的"十"字所包含的控制点。模板二用于识别横线上的控制点,其中a,b,c中有且只有一个"0";d,e,f中亦然。模版三用于识别竖线上的控制点,其中A,B,C中有且只有一个"0",D,E,F亦然。模板四用来搜索中心断裂的"十"字。
图四 搜索控制点用的模板
限于篇幅的原因,关于搜索校正的实现代码就不再赘述了,笔者曾在近期的文章中介绍了图像平滑的处理,如果读者掌握了平滑的处理,那末对于采用模板匹配的实现应该不会再犯难,两者其实在编程实现上是大同小异的。
查看本文来源