2013-03-05 30 views

回答

0

我会建议你使用一个所谓的Simplify例程来做到这一点。我个人建议R-D-P line simplification algorithm。有许多实现可用作示例代码,或者在开源和封闭源应用程序中都有。你可以在维基百科的pseduocode上编写自己的代码。链接关闭的维基页面是this implementation in javascript,与example of its use。如果您使用任何计算几何库或GIS库,它几乎肯定包含在它们中。

0

我试图用'右边壁'算法跟踪边缘进行编码。这个算法不仅会产生一对坐标,而且还会产生一个连接/闭合的循环,可以表示为一个字符串:“URUURUURUURRDDRDDDRDD”...在Up,Right,Down中......并且最终是Left,Up,..等

接下来的事情将是定位边缘点。在例如(U)RUURUURUUR_RDDRDDDDRD(D)之间画出的线距离最远的是什么像素/点?我的候选人在'_'附近; (U)RUURUURUUR(_),并检查所有中间坐标是否与该线成1/2像素;如果不是,继续细分该点离该线最远的地方。