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