我得到点序列 我需要办理后续规则定的多边形:多边形平滑的条件
- 角度必须180,90,45度;
- if lines parallel then distanse beetwen the lines greater minVayue;
- 多边形的方向是水平的和垂直的。
(如果最接近于一个特定的问题,然后我找到OpenCV的物体的轮廓,那么就应该是很好的借鉴)
我需要做财产以后这样的:
我得到点序列 我需要办理后续规则定的多边形:多边形平滑的条件
(如果最接近于一个特定的问题,然后我找到OpenCV的物体的轮廓,那么就应该是很好的借鉴)
我需要做财产以后这样的:
你所问的问题似乎不是微不足道的,也不是很清楚。需要更多的上下文。
我会尝试两种方法:
覆盖多边形方形网格,并保持被充分地填充平方。
骨骼形状(http://en.wikipedia.org/wiki/Topological_skeleton),清理,并将骨架分为大部分水平/垂直部分;然后用真正的水平/垂直笔画替换这些片段。
我想骨骼化,但我现在不知道它是如何调用的。谢谢你会尝试 – Famos 2012-02-17 09:57:10
我会用DP点减少来解决这个问题。这个例程有几种不同的风格,最常见的不是最适合你想要做的,但最终这种方法将导致最好的质量。
传统的DP操作需要一组点,它们形成一条多边线并移除任何不会超出特定因子破坏形状的点。这个因素是基于你的数据的度量单位,所以在你的情况下它可能会以像素为单位。正如你可以想象的那样,选择这个因子是使用DP最困难的部分,除非你只是想从多边形中删除点,你可以很容易量化并不重要。
在你的情况下,我的很多时间,你想要删除最有助于多边形形状的点。您应该能够采用DP的典型递归示例,并在第一次迭代后通过这些点将它断开,以便一次删除一个点。然后你会得到你的形状,看看它是否符合你的要求。如果它没有得到完美的成绩,你可以删除另一个成绩并重新打分直到成绩或者你只剩下三分。如果没有完美的分数,你可以采用最佳分数的形状,也许有第二种算法,迫使它满足要求。
http://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm
非常感谢,我不知道这个算法 – Famos 2015-03-01 13:24:24
那么你的问题是什么? – 2012-02-17 08:02:53
这是怎么回事?或者我可以找到答案? – Famos 2012-02-17 08:30:17