exponenta event banner

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 использование пар имя-значение для управления аспектами вычисления веса.

Примеры

свернуть все

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

Прочтите изображение и выведите его на экран.

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