graydiffweight

Вычислите веса для пикселей изображения на основе различия интенсивности в полутоне

Описание

W = graydiffweight(I,refGrayVal) вычисляет вес пикселей для каждого пикселя в полутоновом изображении I. Вес является абсолютным значением различия между интенсивностью пикселя и эталонной интенсивностью полутонового цвета, заданной скаляром refGrayVal. Выберите ссылочное значение интенсивности градаций серого, которое является показательным для объекта, который вы хотите сегментировать. Веса возвращаются в массиве W, который совпадает с размером входного изображения I.

Вес пикселя обратно связан с абсолютным значением различия интенсивности в полутоне в местоположении пикселя. Если различие небольшая (значение интенсивности близко к refGrayVal), значение веса большое. Если различие большая (значение интенсивности сильно отличается от refGrayVal), значение веса небольшое.

W = graydiffweight(I,mask) вычисляет веса пикселей, где эталонное значение интенсивности полутонового цвета является средним значением значений интенсивности всех пикселей в I которые помечены как логические true в mask. Использование среднего значения нескольких пикселей для вычисления эталонного значения интенсивности в полутоне может быть более эффективным, чем использование одного эталонного значения интенсивности, как в предыдущем синтаксисе.

W = graydiffweight(I,C,R) вычисляет веса пикселей, где эталонное значение интенсивности полутонового цвета является средним значением значений интенсивности положения пикселей, заданных векторами C и R. C и R содержать индексы столбцов и строк в пикселях, которые должны быть допустимыми индексами пикселей в I.

W = graydiffweight(V,C,R,P) вычисляет веса для каждой воксели в томе V, заданный векторами C, R, и P. C, R, и P содержат индексы столбца, строки и плоскости воксели, которые должны быть допустимыми вокселями индексы в V.

пример

W = graydiffweight(___, Name,Value) возвращает массив весов W использование пар "имя-значение" для управления аспектами расчета веса.

Примеры

свернуть все

Этот пример сегментирует объект в изображении с помощью Fast Marching Method с помощью весов различий интенсивности полутонового цвета, рассчитанных из значений интенсивности в seed местоположениях.

Чтение изображения и его отображение.

I = imread('cameraman.tif');
imshow(I)
title('Original Image')

Figure contains an axes. The axes with title Original Image contains an object of type image.

Задайте строку и столбец индекс пикселей для использования ссылки значения интенсивности в полутоновом цвете.

seedpointR = 159;
seedpointC = 67;

Вычислите массив весов различия интенсивностей серого для изображения и отобразите его. В примере выполняется логарифмическое масштабирование W для улучшения визуализации.

W = graydiffweight(I, seedpointC, seedpointR,'GrayDifferenceCutoff',25);
figure, imshow(log(W),[])

Figure contains an axes. The axes contains an object of type image.

Сегментируйте изображение с помощью массива весов различия интенсивности в полутоне. Задайте те же векторы начальной точки, которые вы использовали для создания массива весов.

thresh = 0.01;
BW = imsegfmm(W, seedpointC, seedpointR, thresh);
figure, imshow(BW)
title('Segmented Image')

Figure contains an axes. The axes with title Segmented Image contains an object of type image.

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

свернуть все

Полутоновое изображение, заданное как 2-D числовая матрица.

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

Полутом, заданный как 3-D числовой массив.

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

Ссылочное значение интенсивности градации серого, заданное как скаляр.

Типы данных: double

Ссылка на маску интенсивности полутонового цвета, заданная как логический массив того же размера, что и I.

Типы данных: logical

Индекс столбца ссылки пикселя (или воксель) в виде числового (целочисленного) вектора.

Типы данных: double

Индекс строки ссылки пикселя (или воксель) в виде числового (целочисленного) вектора.

Типы данных: double

Плоский индекс ссылки воксели, заданный как числовой (целочисленный) вектор.

Типы данных: double

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

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

Пример: W = graydiffweight(I, seedpointC, seedpointR,'GrayDifferenceCutoff',25);

Выходной весовой коэффициент отката, заданный как разделенная разделенными запятой парами, состоящая из 'RolloffFactor' и положительная скалярная величина класса double. Управляет тем, как быстро выходной вес падает как функция абсолютного различия между значением интенсивности и эталонной интенсивностью полутона. При рассмотрении как 2-D график значения интенсивности пикселей могут изменяться постепенно на ребрах областей, создавая пологий уклон. В сегментированном изображении может потребоваться более четкое определение ребра. Используя коэффициент отклонения, вы управляете наклоном кривой значения веса в точках, где значения интенсивности начинают изменяться. Если вы задаете высокое значение, выходные значения веса резко падают вокруг областей интенсивности изменения. Если вы задаете низкое значение, вес выхода имеет более постепенное падение вокруг областей меняющейся интенсивности. Предлагаемая область значений для этого параметра [0.5 4].

Типы данных: double

Порог для абсолютных значений различия интенсивностей в полутоне, заданное как разделенная разделенными запятой парами, состоящая из 'GrayDifferenceCutoff' и неотрицательный скаляр класса double. Когда вы ставите порог на значениях различия интенсивности, вы сильно подавляете выходные значения веса, большие, чем значение среза. graydiffweight присваивает этим пикселям наименьшее значение веса. Когда выход массива весов W используется для сегментации на основе метода быстрого марша (как вход в imsegfmm), этот параметр может быть полезен в улучшении точности выхода сегментации. Значение по умолчанию этого параметра Infа это значит, что жесткого отключения нет.

Типы данных: double

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

свернуть все

Массив весов, заданный как числовой массив того же размера, что и входа изображение I или объемных V. W является классом double, если только входное изображение или объем не имеют класс single, в каком случае W является классом single.

См. также

| |

Введенный в R2014b