Изображение сегмента в передний план и фон с помощью итеративной основанной на графике сегментации
сегментирует изображение с помощью пар "имя-значение", чтобы управлять аспектами сегментации.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.