Изображение сегмента в передний план и фон с помощью итеративной основанной на графике сегментации
BW = grabcut(A,L,ROI)
BW = grabcut(A,L,ROI,foremask,backmask)
BW = grabcut(A,L,ROI,foreind,backind)
BW = grabcut(V,___)
BW = grabcut(___,Name,Value)
сегментирует изображение с помощью пар "имя-значение", чтобы управлять аспектами сегментации.BW
= grabcut(___,Name,Value
)
Для double
и изображений single
, grabcut
принимает область значений изображения, чтобы быть [0 1]
. Для uint16
, int16
и изображений uint8
, grabcut
принимает область значений, чтобы быть полным спектром для типа определенных данных.
Для полутоновых изображений размер L
, foremask
и backmask
должен совпадать с размером изображения A
. Для цвета и многоканальных изображений, L
, foremask
и backmask
должны быть 2D массивами с первыми двумя размерностями, идентичными первым двум размерностям изображения A
.
Алгоритм обрабатывает все подобласти полностью или пространственно вне маски ROI как принадлежащий фону. Чтобы получить оптимальную сегментацию, убедитесь, что объект, который будет сегментирован, полностью содержится в ROI, окруженном небольшим количеством фоновых пикселей.
Не отмечайте подобласть матрицы метки как принадлежащий и приоритетной маске и фоновой маске. Если область матрицы метки содержит пиксели, принадлежащие и приоритетной маске и фоновой маске, алгоритм эффективно обрабатывает область как не отмеченную.
Алгоритм принимает, что все подобласти вне видимой области принадлежат фону. Отмечание одной из этих подобластей как принадлежащий переднему плану или фоновой маске не имеет никакого эффекта на получившуюся сегментацию.
[1] Rother, C., В. Кольмогоров и А. Блэйк. "GrabCut - Интерактивная Приоритетная Экстракция с помощью Выполненных с помощью итераций Сокращений Графика". Транзакции ACM на Графике (SIGGRAPH). Издание 23, Номер 3, 2004, стр 309–314.