Приложение Image Segmenter предоставляет доступ к множеству различных способов сегментации изображения. Использование Image Segmenter может быть итеративным процессом, где можно попробовать несколько опции сегментации. Некоторые методы сегментации могут работать лучше с определенными типами изображений, чем другие. После сегментации изображения можно сохранить двоичную маску. Можно также получить код, используемый для создания маски в Image Segmenter.
Откройте приложение и загрузите изображение, которое будет сегментировано. Image Segmenter можете открыть любой файл, который можно считать imread
.
Открыть Image Segmenter можно из командной строки. Задайте изображение в рабочей области или имя файла.
I = imread('coins.png');
imageSegmenter(I)
Также откройте приложение из вкладки Apps, под Image Processing and Computer Vision. Затем из Load меню выберите имя переменной рабочей области или имя файла, содержащего изображение.
После загрузки изображения можно опционально загрузить существующую двоичную маску. Например, ранее вы могли создать маску изображения RGB в приложении Color Thresholder, и вы хотите уточнить сегментацию. Чтобы загрузить существующую маску, нажмите кнопку Load Mask. Изображение маски сегментации должно быть логическим изображением того же размера, что и изображение, которое вы сегментируете.
Чтобы создать начальную маску, используйте любой из инструментов в меню Create Mask и Add to Mask. Если необходимо начать новую сегментацию после создания маски, нажмите кнопку New Segmentation. Можно выполнить несколько сегментаций с помощью приложения. Каждая сегментация появляется с миниатюрой в браузере данных.
Чтобы добавить сегментированные области к существующей маске, используйте инструменты в меню Add to Mask. Приложение отображает шаги, которые вы предпринимаете при создании сегментации, на панели «История» браузера данных.
Инструмент | Описание |
---|---|
Threshold | Автоматический метод, в котором вы задаете значение интенсивности, которое хотите изолировать. Этот метод может быть полезен, если объекты, которые вы хотите сегментировать в изображении, имеют сходные значения интенсивности пикселей, и эти значения легко отличаются от других областей изображения, таких как фон. Для получения дополнительной информации смотрите раздел «Сегментное изображение с использованием порогового значения» в Image Segmenter. |
Graph Cut | Полуавтоматический метод, который может сегментировать передний план и фон. Этот метод не требует тщательного размещения seed точек, и можно уточнить сегментацию в интерактивном режиме. Для получения дополнительной информации см. Раздел «Сегментное изображение с использованием графика» в Image Segmenter». |
Auto Cluster | Автоматический метод, при котором приложение группирует функции изображения в двоичную сегментацию. Эта опция доступна только при наличии Statistics and Machine Learning Toolbox™. Для получения дополнительной информации см. раздел «Сегментное изображение с использованием автоматического кластера в Image Segmenter». |
Find Circles | Автоматический метод, в котором вы задаете минимальный и максимальный диаметр округлых объектов, которые вы хотите обнаружить. Для получения дополнительной информации смотрите Сегмент изображения Используя Найти Круги в Image Segmenter |
Local Graph Cut (grabcut) | Полуавтоматический метод, подобный методу Graph Cut, который может сегментировать передний план и фон. С помощью локальной вырезки графика (grabcut) вы сначала задаете информация только для чтения, который охватывает объект в изображении, которое вы хотите сегментировать. Объект автоматически сегментируется в Image Segmenter информации только для чтения. Можно уточнить сегментацию путем рисования линий на изображении для идентификации переднего плана и фона в информация только для чтения. Все за пределами информация только для чтения рассматривается как фон. Для получения дополнительной информации см. раздел «Сегментное изображение с использованием локальной графической вырезки (Grabcut)» в Image Segmenter». |
Flood Fill | Автоматический метод, в котором вы задаете начальные точки и сегменты метода с аналогичными значениями интенсивности. |
Draw ROI | Ручной метод, в котором вы рисуете фигуры, очерчивающие область объектов, которые вы хотите сегментировать. С помощью мыши можно рисовать прямоугольники, эллипсы, многоугольники или фигуры freehand. Для получения дополнительной информации см. раздел «Изображение сегментов методом рисования областей с использованием Image Segmenter». |
При использовании инструментов Auto Cluster, Graph Cut и Flood Fill сегментации можно также включить текстуру в качестве дополнительного фактора в сегментацию. Фильтрация текстур может помочь отличить передний план от фона. Чтобы включить и выключить опцию текстуры, нажмите Include Texture Features. При включении Image Segmenter использует фильтры Габора, чтобы анализировать текстуру изображения как шаг предварительной обработки в сегментации. Дополнительные сведения о фильтрах Gabor см. в разделе Сегментация текстуры с использованием фильтров Gabor.
Image Segmenter предоставляет доступ к нескольким инструментам, которые можно использовать для уточнения созданной маски.
Инструмент | Описание |
---|---|
Morphology | Многие морфологические методы, такие как расширение и эрозия. Для примера просмотрите «Уточнить сегментацию с использованием морфологии» в Image Segmenter. |
Active contours (также известный как змеи) | Итерационный метод, который увеличивает или сжимает области в изображении. Вы идентифицируете области с начальными точками. Для примера просмотрите изображение сегмента с использованием активных контуров в Image Segmenter. |
Clear borders | Быстрый способ удалить небольшие области на краю изображения. |
Fill holes | Быстрый способ заполнения небольших отверстий в областях переднего плана. Для примера просмотрите «Уточнить сегментацию с использованием морфологии» в Image Segmenter. |
Invert mask | Иногда сегментацию легче вычислить, если вы инвертируете передний план и фон. Для примера просмотрите изображение сегмента с помощью автоматического кластера в Image Segmenter |
Когда вы находите приемлемую сегментацию, можно экспортировать в рабочую область окончательное изображение маски сегментации и сегментированную версию оригинального изображения. Чтобы экспортировать маску и сегментацию в рабочую область, нажмите Export и выберите Export Images.
Можно также сгенерировать код, используемый для выполнения сегментации (требуется Statistics and Machine Learning Toolbox.) Используйте код, чтобы применить тот же алгоритм сегментации к аналогичным изображениям. Чтобы получить код, нажмите Export и выберите Generate Function. Приложение открывает MATLAB® редактор, содержащий функцию с автогенерированным кодом. Чтобы сохранить код, нажмите кнопку Сохранить в редакторе MATLAB.