【问题标题】:How to get the Shape of the transparent portion of a BufferedImage in Java?如何在 Java 中获取 BufferedImage 透明部分的形状?
【发布时间】:2011-08-15 08:06:22
【问题描述】:

我有 BufferedImage 具有透明像素的图像对象。我想要得到的是 ShapeArea 包含图像透明部分的对象。

【问题讨论】:

  • 一个或多个对象?你想要的是透明像素的convex hull。如果您要隔离不同的透明像素组,则解决方案会有所不同。
  • @Rom1 感谢指向凸包的指针,阅读此算法很有趣。就我而言,可以有多组透明像素。

标签: java awt graphics2d


【解决方案1】:

您可以这样尝试:将原始图像视为无向图,其节点是透明像素。在图像上的相邻节点之间放置一条边(即直接位于上方、左侧、右侧、下方和对角线的透明像素)。找到该图表的connected components。然后对于每个连接的组件,计算它的凸包。返回包含每个外壳的 List,每个外壳都是 Shape

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-07
    相关资源
    最近更新 更多