bwskel

Уменьшайте все объекты до линий в 2D двухуровневом изображении или 3-D бинарном объеме

Описание

пример

B = bwskel(A) уменьшает все объекты в 2D двухуровневом изображении A к кривым линиям 1 пиксель шириной, не изменяя существенную структуру изображения. Этот процесс, названный skeletonization, извлекает среднюю линию при сохранении топологии и Числа Эйлера объектов.

пример

B = bwskel(V) возвращает скелет 3-D бинарного объема.

пример

B = bwskel(___,'MinBranchLength',N) задает минимальную продолжительность ветви N из скелета. bwskel удаляет (сокращает) все ветви короче, чем заданная длина. bwskel вычисляет длину как количество пикселей в ветви, использующей с 8 возможностями соединения в 2D и с 26 возможностями соединения для 3-D.

Примеры

свернуть все

Считайте 2D полутоновое изображение в рабочую область. Отобразите изображение. Предметы интереса являются темными потоками против светлого фона.

I = imread('threads.png');
imshow(I)

Скелетирование требует двухуровневого изображения, в котором приоритетными пикселями является 1 (белый) и фон 0 (черный). Чтобы сделать оригинальное изображение подходящим для скелетирования, возьмите дополнение изображения так, чтобы объекты были легки, и фон является темным. Затем binarize результат.

Icomplement = imcomplement(I);
BW = imbinarize(Icomplement);
imshow(BW)

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

out = bwskel(BW);

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

imshow(labeloverlay(I,out,'Transparency',0))

Сократите маленькие шпоры, которые появляются на скелете и просматривают результат. Одна короткая ветвь сокращена от потока около центра изображения.

out2 = bwskel(BW,'MinBranchLength',15);
imshow(labeloverlay(I,out2,'Transparency',0))

Считайте двухуровневое изображение в рабочую область.

BW1 = imread('circbw.tif');

Скелетонайз возражает в изображении с помощью bwskel функция.

BW2 = bwskel(BW1);

Просмотрите оригинальное изображение и изображение skeletonized рядом друг с другом.

montage({BW1,BW2},'BackgroundColor','blue','BorderSize',5)

Загрузите объемный набор данных в рабочую область. Именем набора данных является spiralVol. Отобразите объем с помощью volshow.

load spiralVol.mat;
volshow(spiralVol);

Преобразуйте spiralVol набор данных к двоичному формату, который требуется bwskel функция.

spiralVolLogical = imbinarize(spiralVol);

Skeletonize спиральная форма в наборе данных. Отобразите skeletonized объем с volshow.

spiralVolSkel = bwskel(spiralVolLogical);

.

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

свернуть все

Двухуровневое изображение, заданное как 2D логический массив.

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

3-D бинарный объем, заданный как 3-D логический массив.

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

Минимальная продолжительность ветви, заданная как неотрицательное целое число. bwskel чернослив переходит короче, чем N. По умолчанию, bwskel не сокращает ветви.

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

свернуть все

Изображение Skeletonized или объем, возвращенный как 2D или 3-D логический массив одного размера с входным изображением или объемом.

Советы

  • В то время как оба bwskel и bwmorph могут skeletonize 2D изображения, вы можете получить различные результаты с помощью bwmorph чем тогда, когда с помощью bwskel. Поскольку они используют различные алгоритмы, bwskel функционируйте использование, с 4 возможностями соединения с 2D изображениями; bwmorph использование, с 8 возможностями соединения.

  • bwskel принимает, что основные объекты в двухуровневом изображении являются белыми (логический true). Если ваше изображение имеет белый фон и черные объекты, то используйте дополнение своего изображения как вход к bwskel. Можно вычислить дополнение с помощью imcomplement.

Алгоритмы

  • bwskel функционируйте использует среднюю ось, преобразовывают.

Ссылки

[1] Та-Чих Ли, Рэнгасами Л. Кэшьяп и Чон-Нэм Чу. Создавание скелетных моделей с помощью 3-D средних алгоритмов утончения поверхности/оси. Компьютерное зрение, Графика и Обработка изображений, 56 (6):462-478, 1994.

[2] Kerschnitzki, M, Kollmannsberger, P, Burghammer, M. и др. Архитектура сети остеоцита коррелирует с качеством материала кости. Журнал Кости и Минерального Исследования, 28 (8):1837-1845, 2013.

Введенный в R2018a