已知:经过轮廓跟踪后的坐标连续的n组点列,点列中相邻点即坐标平面中八邻域点。
目标:将每一组点列进行曲线拟合。就是修改这些点的x,y坐标值,存入新点列,使其显示出来的时候是一条很光滑的曲线。我知道有很多的拟合算法,但感觉很多都是必须知道了控制点才进行拟合的。那么现在我的点很密集,是需要先进行离散化再拟合么?怎么确定控制点呢?希望不进行人手工操作,自动拟合的。能不能直接拟合出光滑曲线呢?什么算法比较适合这种情况呢?我刚刚接触这个,老师又催的比较急,这两天看的头都大了。很迫切的的希望大牛们能够指点一下。如果有相关的源码更好了。不胜感激!!
目标:将每一组点列进行曲线拟合。就是修改这些点的x,y坐标值,存入新点列,使其显示出来的时候是一条很光滑的曲线。我知道有很多的拟合算法,但感觉很多都是必须知道了控制点才进行拟合的。那么现在我的点很密集,是需要先进行离散化再拟合么?怎么确定控制点呢?希望不进行人手工操作,自动拟合的。能不能直接拟合出光滑曲线呢?什么算法比较适合这种情况呢?我刚刚接触这个,老师又催的比较急,这两天看的头都大了。很迫切的的希望大牛们能够指点一下。如果有相关的源码更好了。不胜感激!!
虽然这样是连续的,但是肯定是有毛刺的。我希望修改这些点的坐标值,重新存入一个新的点列中,使之连起来是一个平滑的曲线。而不是拿moveto,lineto画的。。
额,我对于计算机图形学很不了解啊。。
如果不会出现这样的情况,你要完成的任务就是相当于剔除短小的分支,只保留一个主干,也就是搜索出一条最长的点序列。如果上面我的理解正确的话,一些基本的算法也许可以帮你完成任务,建议使用递归。这与你之前点的存储结构有很大关系,如果存在分支你之前的节点是如何存储的,一个ARREY总不能存储所有分支吧,
欢迎继续讨论