exponenta event banner

gradientweight

Расчет весов для пикселов изображения на основе градиента изображения

Описание

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

W = gradientweight(I,sigma) использование sigma в качестве стандартного отклонения для производной гауссова, которая используется для вычисления градиента изображения.

пример

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

Примеры

свернуть все

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

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

I = imread('coins.png');
imshow(I)
title('Original Image')

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

Вычислять веса на основе градиента изображения.

sigma = 1.5;
W = gradientweight(I, sigma, 'RolloffFactor', 3, 'WeightCutoff', 0.25);

Выберите начальное местоположение.

R = 70; C = 216;
hold on; 
plot(C, R, 'r.', 'LineWidth', 1.5, 'MarkerSize',15);
title('Original Image with Seed Location')

Figure contains an axes. The axes with title Original Image with Seed Location contains 2 objects of type image, line.

Сегментируйте изображение с помощью массива весов.

thresh = 0.1;
[BW, D] = imsegfmm(W, C, R, thresh);
figure, imshow(BW)
title('Segmented Image')
hold on; 
plot(C, R, 'r.', 'LineWidth', 1.5, 'MarkerSize',15);

Figure contains an axes. The axes with title Segmented Image contains 2 objects of type image, line.

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

figure, imshow(D)
title('Geodesic Distances')
hold on; 
plot(C, R, 'r.', 'LineWidth', 1.5, 'MarkerSize',15);

Figure contains an axes. The axes with title Geodesic Distances contains 2 objects of type image, line.

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

свернуть все

Изображение в градациях серого, указанное как числовая матрица.

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

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

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

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

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

Пример: W = gradientweight(I,1.5,'RolloffFactor',3,'WeightCutoff',0.25);

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

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

Порог для значений веса, указанный как пара, разделенная запятыми, состоящая из 'WeightCutoff' и положительное число в диапазоне [1e-3 1]. Если этот параметр используется для установки порога значений веса, он подавляет любые значения веса, меньшие указанного значения, устанавливая для этих пикселов малое постоянное значение (1e-3). Этот параметр может быть полезен для повышения точности выходных данных при использовании массива весов выходных данных. W в качестве входных данных для функции сегментации метода быстрого марша, imsegfmm.

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

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

свернуть все

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

Совет

  • gradientweight использует операции с плавающей запятой двойной точности для внутренних вычислений для всех классов I, за исключением тех случаев, когда I имеет класс single, в случае чего gradientweight использует операции с плавающей запятой с одинарной точностью внутри системы.

См. также

|

Представлен в R2014b