grayconnected

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

Описание

пример

BW = grayconnected(I,row,column) находит связанную область подобной интенсивности в полутоновом изображении I. Задайте row и column индексы начальной точки, пикселя seed. Функция возвращает бинарную маску, BW, это указывает, какие пиксели связаны с 8 с пикселем seed с подобной интенсивностью.

BW = grayconnected(I,row,column,tolerance) указывает диапазон значений интенсивности, чтобы включать в маску, как в [(seedvalue-tolerance),(seedvalue+tolerance)].

Примеры

свернуть все

Считайте и отобразите полутоновое изображение.

I = imread('cameraman.tif');
imshow(I)

Используйте метод заливки, чтобы сегментировать небо в изображении. Выберите пиксель в небе, чтобы быть местоположением seed. Этот пример использует пиксель с (строка, столбец) координата (50, 50). Вызовите grayconnected функция, задавая изображение, которое будет сегментировано и это местоположение seed.

J = grayconnected(I,50,50);

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

imshow(labeloverlay(I,J))

Сегментируйте конверт оператора в изображении. Выберите пиксель в небе, чтобы быть местоположением seed. Этот пример задает пиксель seed с (строка, столбец) координата (110, 65). Вызовите grayconnected функция, задавая изображение, которое будет сегментировано и это местоположение seed.

J2 = grayconnected(I,110,65);

Отобразите сегментированное изображение в цвете по оригинальному изображению. Сегментированная область включает все пиксели, которые связаны с 8 с пикселем seed. Тренога и волосы оператора имеют подобную интенсивность к конверту, таким образом, они включены в сегментированную область.

imshow(labeloverlay(I,J2))

Создайте изображение небольшой выборки.

I = uint8([20 22 24 23 25 20 100
           21 10 12 13 12 30 6
           22 11 13 12 13 25 5
           23 13 13 13 13 20 5
           24 13 13 12 12 13 5
           25 26  5 28 29 50 6]);

Создайте рисунок маски, задав местоположение seed строкой и столбцом и допуском. Поскольку местоположение seed задает пиксель со значением 23 и допуском является 3 , областью значений полутоновых значений является [20,26].

seedrow = 4
seedrow = 4
seedcol = 1
seedcol = 1
tol = 3 
tol = 3
BW = grayconnected(I,seedrow,seedcol,tol)
BW = 6x7 logical array

   1   1   1   1   1   1   0
   1   0   0   0   0   0   0
   1   0   0   0   0   0   0
   1   0   0   0   0   0   0
   1   0   0   0   0   0   0
   1   1   0   0   0   0   0

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

свернуть все

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

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

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

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

Индекс столбца пикселя seed в виде положительного целого числа.

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

Допуск значений интенсивности, чтобы включать в маску в виде числового скаляра. Маска включает все пиксели со значением в области значений [(seedvalue-tolerance),(seedvalue+tolerance)]. По умолчанию допуском является 32 для изображений с целочисленным знаком и 0.1 для изображений с плавающей точкой.

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

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

свернуть все

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

Типы данных: логический

Расширенные возможности

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

| |

Введенный в R2015b