Как получить форму прозрачной части BufferedImage в Java? - PullRequest
2 голосов
/ 29 апреля 2011

У меня есть BufferedImage объекты изображения с прозрачными пикселями. Я хотел бы получить объекты Shape или Area, которые содержат прозрачную часть изображения.

1 Ответ

1 голос
/ 29 апреля 2011

Вы можете попробовать это так: рассматривать исходное изображение как неориентированный граф, узлами которого являются прозрачные пиксели. Поместите край между смежными узлами на изображении (то есть прозрачные пиксели, которые находятся прямо над, слева, справа, снизу и по диагонали). Найдите связанных компонентов для этого графика. Затем для каждого связанного компонента вычислите его выпуклую оболочку. Верните List, содержащий каждый из этих корпусов, каждый из которых равен Shape.

...