2016-05-16 3 views
-1

Я работаю с обнаружением рака легких в MATLAB. Я хочу сегментировать бинарное изображение компьютерной томографии легких, чтобы получить интересующую область.Как отделить белые области, ограниченные черным в двоичном изображении

На фотографии вы видите белый регион внутри черного региона. Черные объекты означают легкое, а белая область внутри черного объекта означает рак, оказанный частью легкого. Я хочу получить белую область от изображения. Я хочу получить выход только в том, что белый регион на черном фоне ничего больше. Как я могу это достичь?

input image

ответ

0

Вы не дали код, поэтому я также отвечать без кода.

Вы можете

  • использование morpholocical операция закрытия, чтобы избавиться от открытого канала, который соединяет белую область с окружающим
  • Тогда ищите белые дыры в каждой черной области (например, путем проведения анализа блоб/порог срабатывания только на (маскированной) области, черный)

в качестве альтернативы, вы могли бы

  • ищет выпуклости дефектов контуров, таких, как описано here (Это питон версия, но подобные функции должны быть примерно в MATLAB)
+0

спасибо за вашу информацию .... это помогло мне найти решение ... – Shilpauser6294007

+0

Поскольку вы все еще новичок в Stackoverflow, возможно, вы хотите прочитать некоторые подсказки о том, что делать, когда ответы были полезными: http: // stackoverflow .com/помощь/кто-то-ответы, кроме как в реальной жизни «спасибо» в комментариях не рекомендуется, чтобы держать замечания сосредоточенными на содержании, но вы можете проголосовать за многие ответы и принять их. – tfv

1

Как о чем-то вроде этого:

% Read in image and convert to BW 
BW = im2bw(imread('http://i.stack.imgur.com/pxpOz.jpg')); 

% Invert so that the lung appears white white 
BW = ~BW; 

% Create a structuring element. Tune the '2' depending on the size of the gap 
se = strel('disk',2); 

% Perform mophological closing 
closeBW = imclose(BW,se); 

% Fill the holes 
lungBW = imfill(closeBW,'holes'); 

% subtract the lung image from the closed image 
cancerBW = (lungBW - closeBW); 

% Display the results 
figure; imshow(cancerBW); 

Click here for the output

+0

большое спасибо .... ваш код очень полезен для меня .... – Shilpauser6294007

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