Изображение сегмента Используя локальное сокращение графика (Grabcut) в Image Segmenter

В этом примере показано, как сегментировать изображение с помощью Локального Сокращения Графика (также известный grabcut) в приложении Image Segmenter. Как Сокращение Графика, Локальное Сокращение Графика является полуавтоматическим методом сегментации, который можно использовать, чтобы сегментировать изображение на фоновые элементы и передний план. С Локальным Сокращением Графика вы сначала чертите необходимую область вокруг объекта, который вы хотите сегментировать. Приложение Image Segmenter сегментирует изображение автоматически на основе содержимого ROI.

Затем как с Сокращением Графика, вы совершенствовали автоматическую сегментацию путем проведения линий, названных каракулями, на изображении в ROI. Линии, которые вы проводите, идентифицируют то, что вы хотите на переднем плане и что вы хотите в фоновом режиме. Локальная опция Сокращения Графика только элементы сегментов в контурах ROI.

Локальный метод Сокращения Графика, похожий на метод Сокращения Графика, применяет теорию графов к обработке изображений, чтобы достигнуть быстрой сегментации. Алгоритм создает график изображения, где каждый пиксель является узлом, соединенным взвешенными ребрами. Чем выше вероятность, что пиксели связаны, тем выше вес. Алгоритм сокращает вдоль слабых ребер, достигая сегментации объектов в изображении. Для получения информации о методе Сокращения Графика смотрите, что Изображение Сегмента Использует Сокращение Графика Image Segmenter.

Загрузите изображение в приложение Image Segmenter

Считайте изображение в рабочую область.

car = imread('car2.jpg');

От MATLAB® Toolstrip откройте приложение Image Segmenter. На вкладке Apps, в разделе Image Processing и Computer Vision, нажимают Image Segmenter.

На панели инструментов приложения нажмите Load Image, и затем выберите Load Image from Workspace. В диалоговом окне Import from Workspace выберите изображение, которое вы читаете в рабочую область. Отображения приложения Image Segmenter изображение вы выбрали.

Можно также открыть приложение с помощью imageSegmenter команда, задавая имя переменной изображений.

imageSegmenter(b);

Используйте локальное сокращение графика (Grabcut), чтобы сегментировать изображение

На панели инструментов приложения Image Segmenter выберите Local Graph Cut.

Приложение Image Segmenter открывает новую вкладку для Локальной сегментации Сокращения Графика. Как первый шаг в Локальной сегментации Сокращения Графика, чертите ROI вокруг объекта в изображении, которое вы хотите сегментировать. Когда приложение Image Segmenter открывает вкладку Local Graph Cut, оно предварительно выбирает кнопку Draw ROI. Расположите курсор над изображением и чертите ROI, который охватывает целый объект, который вы хотите сегментировать. Чтобы получить хорошую начальную сегментацию, убедитесь ROI, который вы чертите, полностью окружает объект, оставляя небольшое количество пробела между объектом и контуром ROI. Убедитесь объект, который вы хотите сегментировать, полностью в ROI.

Можно принять решение чертить прямоугольный или многоугольный ROI. Используйте меню ROI Style, чтобы выбрать. Чтобы чертить прямоугольник, расположите курсор над изображением и затем перетащите. Чтобы чертить многоугольник, перетащите мышь, создав вершину в каждом нажатии кнопки. Дважды кликните, чтобы закончить многоугольник. Если вы не удовлетворены формой, вы чертили, можно всегда редактировать ее. Щелкните правой кнопкой по ROI и выберите Delete.

Когда вы закончили ROI, приложение Image Segmenter автоматически сегментирует объект в ROI. Синяя штриховка указывает на сегментированную область.

Чтобы совершенствовать автоматическую сегментацию, проведите линии (каракули), чтобы отметить любые части переднего плана, которые не были включены в автоматическую сегментацию. После того, как вы будете чертить ROI, Image Segmenter нажимает кнопку Mark Foreground автоматически.

Чтобы удалить области из сегментации, которые не являются частью переднего плана, отметьте те области как фон. Выберите опцию Марка Бэкграунда и проведите линии в ROI, чтобы идентифицировать части сегментации, которая должна быть в фоновом режиме.

Когда вы будете удовлетворены сегментацией, нажмите Apply. Изменения приложений Image Segmenter цвет сегментированной части изображения к желтому.

Просмотрите двухуровневое изображение и сохраните маску

Чтобы просмотреть рисунок маски, нажмите Show Binary. Можно также просмотреть бинарный рисунок маски в основной вкладке Segmentation. Чтобы возвратиться к основному приложению Image Segmenter, нажмите Close Local Graph Cut.

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

Смотрите также

|

Похожие темы