2009-12-07 2 views
1

Я пишу программу Java, которая помогает в резке и работе со спрайтами, такими как спрайты CSS. Основная идея заключается в том, что изображение сегментируется на субрегионы, поэтому программное обеспечение понимает, что «спрайт» состоит из нескольких спрайтов.Эта сегментация изображения?

Алгоритм, который я разработал, работает путем сканирования горизонтальных (x) и вертикальных (y) осей для разрывов на основе прозрачности/цветовой маски. Это не определяет каждую подчасти, но ее можно рекурсивно использовать. 1D оси преобразуются в прямоугольники, где части находятся на изображении.

http://en.wikipedia.org/wiki/Image_segmentation

Статья Википедии (выше) содержит информацию о многих различных методов. Важно то, что я не занимаюсь распознаванием, например, обнаружением объектов переднего плана. Технически использование цветной маски - это разделение фона и переднего плана.

+0

Вы видели этот проект? http://csssprites.org/ –

ответ

1

Вы правы. Вы технически выполняете извлечение переднего плана, несмотря на то, что у вас очень мало фона для извлечения. Я бы предложил взглянуть на Connected Component Regions, ИМО поможет вам в извлечении неравномерных областей, которые хорошо связаны.

Я посмотрел на странице Википедии, большинство из этих методов основаны на попытках сегментировать изображение на либо:

  1. «Интересные регионы» т.е. mahalobis расстояние или цвет расстояния (это не то же самое расстояние меры)
  2. Образцов
  3. распознавание образов
1

это сегментации изображения, но не общее назначение один. Использование маски ограничивает ее назначение в зависимости от типа маски, которую вы применяете, но если вас интересует только определенный тип структуры изображения, вполне нормально, я бы назвал его сегментированием сегмента домена.

Смежные вопросы