帮助理解Marching Squares算法

6
在我的游戏中,我想在单色图像的边缘布局正方形:enter image description here 于是我找到了这个算法,应该可以解决问题:http://en.wikipedia.org/wiki/Marching_squares 它似乎不难实现,我只是认为我不完全理解维基百科上的说法。我认为我必须将图像分成单元格,其中每个单元格表示图像上的2x2像素?这正确吗?然后我迷失在这个指令中:
对于轮廓网格中的每个单元格: 1.组合单元格角落处的4个位以构建二进制索引:按顺时针方向绕过单元格,使用按位OR和左移,从左上角最重要的位到左下角最不重要的位,将位附加到索引上。结果为4位的索引可以在0-15范围内有16个可能的值。
我不确定如何附加位。
谢谢

“Marching squares”并不是你想要的,尽管它的名字听起来很吸引人。 - lhf
1个回答

1

创建2x2单元格后,对于每个单元格,您需要计算以下数字:

  • 将数字设置为0
  • 如果左上角的点在阈值以上,则添加8
  • 如果右上角的点在阈值以上,则添加4
  • 如果右下角的点在阈值以上,则添加2
  • 如果左下角的点在阈值以上,则添加1。

编辑格式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接