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')

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

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

Выберите местоположение seed.

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

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

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);

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

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

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

свернуть все

Полутоновое изображение в виде числовой матрицы.

Типы данных: 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. Средства управления, как быстрые значения веса падают как функция величины градиента. Когда просматривается как 2D график, значения интенсивности пикселей могут постепенно варьироваться в ребрах областей, создавая пологий откос. В вашем сегментированном изображении вы можете хотеть, чтобы ребро было более четко определено. Используя фактор спада, вы управляете наклоном кривой значения веса в точках, где значения интенсивности начинают изменяться. Если вы задаете высокое значение, выходные значения веса уменьшаются резко вокруг ребер сглаженных областей. Если вы задаете низкую стоимость, выходной вес имеет более постепенный спад вокруг ребер. Предложенной областью значений для этого параметра является [0.5 4].

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

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

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

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

свернуть все

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

Советы

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

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

|

Введенный в R2014b
Для просмотра документации необходимо авторизоваться на сайте