2016-05-06 2 views
-1

У меня есть 3D-объем легких 3D, я использую matlab для извлечения конкреций и классифицирую его ... Мне нужно устранить «удалить» воздушные пути из тома, чтобы свести к минимуму заподозренные конкреции, в matlab есть связанная функция компонента, но она работает только с изображениями 2d. Следовательно, мне нужна трехсвязная компонентная функция, самый большой связанный компонент в легких будет воздуховодом, если бы я справился с этим, я смогу чтобы удалить его из моего тома. Вкратце, мне нужно обнаружить самый большой подключенный компонент в томеУстранение связанного компонента в 3d объеме matlab

+0

Вы хотите использовать «imclose», но в 3D? – DomDev

+0

Мне нужно обнаружить самый большой подключенный компонент в 3D –

+0

Пожалуйста, переформулируйте свой вопрос, чтобы сделать его более понятным и понятным. – DomDev

ответ

0

Функция Matlab bwareaopen позволяет удалить группы пикселей, которые меньше указанного вами числа, и работает в 3D , Он работает с бинарными изображениями, причем пиксели изображения имеют значение «1» или «true», а фоновые пиксели имеют значение «0» или «ложное». Поэтому, если есть группа пикселей с размером «1», которая содержит меньше числа «P» пикселя, она будет удалена.

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

% Remove white regions with less than 10 pixel 
my3DimageNEW = bwareaopen(my3Dimage, 10); 

% Remove black regions with less than 10 pixel 
my3DimageNEW = ~bwareaopen(~my3Dimage, 10); 
+0

Благодарим вас, но сначала мне нужно знать, который является самым большим компонентом соединения на изображении, чтобы удалить его, .. в 2d есть функция, называемая «bwconncomp (BW, 1)», которая возвращает с наибольшим компонентом связности в 2D, но в 3D это не работает –

+0

Проверьте функцию «bwlabeln» в Matlab. Он позволяет связать номер с каждой группой подключенных пикселей. BW = cat (3, [1 1 0; 0 0 0; 1 0 0], ... [0 1 0; 0 0 0; 0 1 0], ... [0 1 1; 0 0 0; 0 0 1]); BWlabeled = bwlabeln (BW); – DomDev

+0

Как только вы это сделаете, каждый пиксель будет иметь значение 1, 2, 3 ... связанное. Вы можете циклически вручную извлекать количество пикселей в каждом регионе или использовать «regionprops (BWlabeled, 'area»), чтобы получить область всех регионов. – DomDev

Смежные вопросы