exponenta event banner

grayconnected

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

Описание

пример

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

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

Примеры

свернуть все

Чтение и отображение изображения в градациях серого.

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

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

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

J = grayconnected(I,50,50);

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

imshow(labeloverlay(I,J))

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

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

J2 = grayconnected(I,110,65);

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

imshow(labeloverlay(I,J2))

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

Создайте небольшой образец изображения.

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

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

seedrow = 4;
seedcol = 1;

Задайте допуск.

tol = 3;

Создание маскирующего изображения с указанием начального местоположения и допуска. Маска включает в себя все пиксели, которые 8-соединены с исходным пикселем и имеют значение в диапазоне [20, 26]. Маска исключает пикселы с градациями серого в пределах диапазона допусков, которые не связаны 8, например пиксель с координатой (строка, столбец) (3, 6).

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

Индекс строки начального пикселя, заданный как положительное целое число.

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

Индекс столбца начального пикселя, заданный как положительное целое число.

Типы данных: 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-присоединены к исходному пикселю с одинаковой интенсивностью.

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

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

.
Представлен в R2015b