exponenta event banner

Сегментное изображение с помощью вырезания графика в сегменте изображения

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

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

Загрузка изображения в приложение «Сегмент изображения»

Чтение изображения в рабочую область. Для этого примера прочитайте образец изображения baby.png в рабочую область.

b = imread('baby.jpg');

На панели инструментов MATLAB ® откройте приложение «Сегмент изображения». На вкладке «Приложения» в разделе «Обработка изображения и компьютерное зрение» нажмите кнопку «Сегмент изображения».

На панели инструментов приложения щелкните Загрузить изображение и выберите Загрузить изображение из рабочей области. В диалоговом окне «Импорт из рабочего пространства» выберите изображение, считанное в рабочее пространство. В приложении «Сегмент изображения» отображается выбранное изображение.

Вы также можете открыть приложение с помощью imageSegmenter команда, задание изображения:

imageSegmenter(b);

Использование изображения вырезания графика в сегмент

На панели инструментов приложения «Сегмент изображения» выберите «Вырезать график».

В разделе Сегмент изображения (Image Segmenter) открывается новая вкладка для сегментации «Вырезание графика» (Graph Cut). В качестве первого шага сегментации «Вырезание графика» выделите элементы изображения, которые должны находиться на переднем плане. При открытии вкладки Вырезать график (Graph Cut) в разделе Сегмент изображения (Image Segmenter) предварительно выбирается опция Отметить передний план (Mark Foreground). Чтобы пометить объект как передний план, нарисуйте над ним линию (также называемую писью). При построении линии попробуйте включить все различные значения в объект, который требуется сегментировать. Можно нарисовать любое количество отдельных линий. Если нарисованные линии не устраивают, их всегда можно редактировать. Нажмите «Стереть» и наведите курсор на любую часть линии, которую требуется удалить. Если требуется начать сначала, щелкните Очистить маркировку (Clear Markings).

Затем нажмите кнопку «Отметить фон» и нарисуйте надписи, чтобы отметить элементы изображения, которые должны быть фоном. По завершении рисования линий «Сегмент изображения» немедленно выполняет сегментацию (показана синим цветом).

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

Чтобы лучше взглянуть на сегментацию, щелкните Показать двоичный файл.

Если сегментация удовлетворительна, щелкните Создать маску (Create Mask) на панели инструментов на вкладке Вырезать график (Graph Cut). Приложение закрывает вкладку Вырезать график (Graph Cut) и возвращает вас на вкладку Сегментация (Segmentation).

Сохранение изображения маски в рабочей области

При возврате на главную вкладку Сегментация (Segmentation) можно использовать инструменты для уточнения изображения маски, такие как Морфология (Morphology) и Активные контуры (Active Contours). Чтобы сохранить изображение маски, нажмите кнопку «Экспорт». Можно также использовать параметр «Экспорт» для получения кода приложения Image Segmenter, используемого для создания сегментации.

См. также

|

Связанные темы