标签: java awt graphics2d
我有BufferedImage个具有透明像素的图像对象。我想得到的是Shape或Area个对象,它们包含图像的透明部分。
BufferedImage
Shape
Area
答案 0 :(得分:1)
您可以这样尝试:将原始图像视为无向图,其节点是透明像素。在图像上的相邻节点之间放置边缘(即,直接在上方,左侧,右侧,下方和对角线上的透明像素)。找到该图表的connected components。然后,对于每个连接的组件,计算其凸包。返回包含每个船体的List,每个船体为Shape。
List