imsegkmeans3

K-средних значений, кластеризирующие базирующуюся сегментацию объема

Описание

пример

L = imsegkmeans3(V,k) объем сегментов V в k кластеры путем выполнения кластеризации k-средних значений и возвращают сегментированный помеченный выходной параметр в L.

[L,centers] = imsegkmeans3(V,k) также возвращает кластерные центроидные местоположения, centers.

L = imsegkmeans3(V,k,Name,Value)пары "имя-значение" использования, чтобы управлять аспектами k-средних значений, кластеризирующих алгоритм.

Примеры

свернуть все

Загрузите 3-D полутоновый объем MRI и отобразите его с помощью volshow.

load mristack
volshow(mristack);

Сегментируйте объем на три кластера.

L = imsegkmeans3(mristack,3);

Отобразите сегментированный объем с помощью volshow. Чтобы исследовать срезы сегментированного объема, используйте приложение Volume Viewer.

figure
volshow(L);

Входные параметры

свернуть все

Объем, чтобы сегментироваться, заданный как 3-D полутоновый объем размера m-by-n-by-p или 3-D многоспектральный объем размера m-by-n-by-p-by-c, где p является количеством плоскостей и c, является количеством каналов.

Примечание

imsegkmeans2 обрабатывает 2D цветные изображения как 3-D объемы размера m-by-n-by-3. Если вы хотите 2D поведение, используйте imsegkmeans вместо этого.

Типы данных: single | int8 | int16 | uint8 | uint16

Количество кластеров, чтобы создать, заданный в виде числа.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: L = imsegkmeans3(V,5,'NumAttempts',5);

Нормируйте входные данные, чтобы обнулить среднее значение и модульное отклонение, заданное как разделенная запятой пара, состоящая из 'NormalizeInput' и true или false. Если вы задаете true, затем imsegkmeans3 нормирует каждый канал входа индивидуально.

Число раз, чтобы повторить процесс кластеризации с помощью новых начальных кластерных центроидных положений, заданных как разделенная запятой пара, состоящая из 'NumAttempts' и положительное целое число.

Максимальное количество итераций, заданных как разделенная запятой пара, состоящая из 'MaxIterations' и положительное целое число.

Порог точности, заданный как разделенная запятой пара, состоящая из 'Threshold' и положительное число. Алгоритм останавливается, когда каждый из кластерных центров перемещает меньше, чем пороговое значение в последовательных итерациях.

Выходные аргументы

свернуть все

Матрица метки, заданная как матрица положительных целых чисел. Пиксели с маркируют 1, принадлежат первому кластеру, маркируют 2, принадлежат второму кластеру, и так далее для каждого k кластеры. L имеет те же первые три измерения как объем V. Класс L зависит от количества кластеров.

Класс LКоличество кластеров
'uint8'k <= 255
'uint16'256 <= k <= 65535
'uint32'65536 <= k <= 2^32-1
'double'2^32 <= k

Кластерные центроидные местоположения, возвращенные как числовая матрица размера k-by-c, где k является количеством кластеров и c, являются количеством каналов. centers тот же класс как изображение I.

Советы

  • Функция дает к восстанавливаемым результатам. Выход не будет варьироваться по нескольким запускам, учитывая те же входные параметры.

Ссылки

[1] Артур, D. и С. Вэссильвитский. "k-средних значений ++: Преимущества Тщательного Отбора". SODA '07: Продолжения Восемнадцатого Ежегодного Симпозиума ACM-SIAM по Дискретным Алгоритмам. Новый Орлеан, LA, январь 2007, стр 1027–1035.

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

Приложения

Функции

Введенный в R2018b