【问题标题】:Algorithm to generate outline of an alpha picture?生成alpha图片轮廓的算法?
【发布时间】:2010-07-12 11:23:55
【问题描述】:

我正在尝试找出一种算法,它可以查看原始 rgba 像素并返回构成示例内部对象多边形的点:

http://img706.imageshack.us/i/polii.png//

它不需要返回贝塞尔曲线或任何平滑或花哨的东西,也不需要像我展示的那样连接轮廓,但基本上是构建这样一个轮廓的点。我这样做是为了存储这些内容并避免在我的游戏中进行像素完美碰撞检测。

谢谢

我想要顶点而不是轮廓图像

【问题讨论】:

    标签: c++ c algorithm


    【解决方案1】:

    如果您只想要线条的图像(而不是矢量),那么您寻找的算法领域是“边缘检测”,请参阅http://en.wikipedia.org/wiki/Edge_detection

    如果您一直在寻找这样的圆圈,您可以尝试广义 Hough 变换 (http://en.wikipedia.org/wiki/Hough_transform),它可以为您提供圆圈的可能位置,而不是简单的轮廓图像。

    如果您正在尝试进行快速碰撞检测(并且不想使用 available game framework 为您执行此操作),那么可以考虑使用边界框构建您的碰撞检测器以完成大部分工作以提高效率.但是你仍然必须使用真正的位图,以防一个完全在另一个内部或其他东西 - 轮廓不会相交,但它们肯定会发生碰撞。

    【讨论】:

    • 我要把这些喂给 Box2D
    猜你喜欢
    • 2012-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    • 2015-04-27
    • 2018-06-04
    相关资源
    最近更新 更多