算法描述:
计算机中的点都是离散的,
找边缘点的方法是这样的(不要嫌烦),你看网格子,附件的画图,你先画一个图,放大到能看到
像素,显示网格子:
你可以看到两个像素(格子)相邻的话,把其中一个看做是固定的,另外一个有8个位置(图中0的位置)
000 (i,j)对应的8个位置 (i,j+1) (i+1,j)................
010
000
这就是相邻的充要条件
-------------------------------------------------------
而边缘必然要求点点相邻成为一条连续的封闭线,则你要判断相邻的8个点中,哪个是内点,
哪个是边缘点,边缘点的充要条件是他的相邻点中至少有一个是空的(就是=0),而内点的相邻
点必然全非空(=1)
以上是内边缘
外边缘的充要条件是他是空(即0),且与内边缘点相邻.
你先找一个外边缘点,依次沿一个方向搜索(从相邻点中搜索)直到得到的外边缘点是已经得到过
的,说明已经描边一圈,我想这个算法最好用一个递归实现(当然用循环也可以实现)
参考我回过的帖子 http://www.delphibbs.com/delphibbs/dispq.asp?lid=1310195