摘要: 部分童鞋应该可以从《使用方形游移匹配算法来勾勒图像轮廓》一文看到它的潜在用途了,只要获得图像的轮廓,转换成Box2D形状就相当容易。但有个问题,所生成的形状会有太多点,范例中处理的logo就多达2200点,太多。点的数量真心需要减少。为了解决这个问题,Ramer-Douglas-Peucker算法闪亮登场。该算法的思想为,给定一条由若干线段组成的曲线,找出包含的点数少且外观相近的曲线。该算法基于原始曲线与简化曲线直接最大间距定义了“dissimilar”。简化曲线由定义原始曲线的点的一个子集组成。Marius Karthaus为RDP算法写了一个非常不错的javascript范例,我在此基础上 阅读全文
posted @ 2013-03-06 17:55 【Winco】 阅读(4493) 评论(0) 推荐(0) 编辑
摘要: 你曾经好奇过图形软件是如何追踪一个图像轮廓的吗?没有嘛?我实际上就没有好奇过,但是当我做一个复杂项目时候,我发现用边界矩形算法来追踪图形轮廓是多么的有魔力。处理的方法是很简单的: 1)找到一个图像边界上的像素(这跟边界矩形没关系,只是假设你找到了这个像素)。这个像素就是需要分析的。 2)假设有一个2x2的像素矩形,其中包括位于矩阵左上角或右下角的当前处理像素。 3)这个时候,你有四个像素,每个都可以是透明或不透明。这样我们就有16种2x2的矩阵。 尽管当我们移到图像边界时,透明跟不透明像素都不会看到。 4)根据2x2矩阵中不透明像素的位置和个数,我们可以猜测轮廓的方向,将... 阅读全文
posted @ 2013-03-06 17:47 【Winco】 阅读(826) 评论(0) 推荐(0) 编辑