如何在Java中获取BufferedImage的透明部分的形状?

时间:2011-04-29 08:13:25

标签: java awt graphics2d

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

1 个答案:

答案 0 :(得分:1)

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