链码表转换为线段表

链码表转换为线段表

 


 

 链码表和线段表都可以描述轮廓,通过轮廓跟踪得到链码表,链码表可以很容易计算出轮廓长度,但轮廓填充,计算面积、重心等使用线段表会更加容易。为了后续处理的方便,往往需要将链码表转换为线段表。线段表只需要记录每条线段的两个端点坐标,中间点全部舍弃。链码表上的点如果位于线段的中间则舍弃,如果位于线段的某一个端点则保留,如果位于线段的两个端点(即线段长度为1)则需要插入一个端点,最后按照垂直方向和水平方向排序。   在程序中判断链码表上的点在线段上的位置关系比较麻烦,且位置关系只有64种,因此采用查表法简单高效,不失为极佳方案。同样,事先无法确定线段数量,可以使用vector来动态管理内存。

 

posted @ 2010-12-09 14:26  phata  阅读(351)  评论(0编辑  收藏  举报