在 CT 图像中分割肺和结节 [英] Segmenting Lungs and nodules in CT images

查看:33
本文介绍了在 CT 图像中分割肺和结节的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 Matlab 图像处理的新手,我正在尝试从 CT 图像中分割肺和结节.我已经做了初步的图像增强.

I am new with Image processing in Matlab, I am trying to segment LUNG and nodules from CT image. I have done initial image enhancement.

我搜索了很多,但没有找到任何相关材料.

I searched lot on the same but I haven't found any relevant materials.

试图从给定的图像中分割肺部部分;然后检测肺部分的结节.

Trying to segment lung part from the given image; and then detecting nodules on Lung part.

我在 Matlab 中尝试的代码:

Code I tried in Matlab:

d1 = dicomread('000000.dcm'); 
d1ca = imadjust(d1); 

d1nF = wiener2(d1ca);

d1Level  = graythresh(d1nF);
d1sBW = im2bw(d1nF,d1Level); 
sed = strel('diamon',1); 
BWfinal = imerode(d1sBW,sed);
BWfinal = imerode(BWfinal,sed);

BWoutline = bwperim(BWfinal);
Segout = d1nF;
Segout(BWoutline) = 0; 

edgePrewitt = edge(d1nF,'prewitt'); 

以上代码的结果:

想要这样的结果:

http://oi41.tinypic.com/35me7pj.jpg

http://oi42.tinypic.com/2jbtk6p.jpg

http://oi44.tinypic.com/w0kthe.jpg

http://oi40.tinypic.com/nmfaio.jpg

http://oi41.tinypic.com/2nvdrie.jpg

http://oi43.tinypic.com/2nvdnhk.jpg

我知道这对专家来说可能很容易.请帮帮我.

I know its may be easy for experts. Please help me out.

谢谢!

推荐答案

试试这个:

% dp6BK.png is your original image, I downloaded directly
I = im2double(imread('dp6BK.png'));  
I=I(:,:,1);
imshow(I)


cropped = I(50:430,8:500); %% Crop region of interest   
thresholded = cropped < 0.35; %% Threshold to isolate lungs
clearThresh = imclearborder(thresholded); %% Remove border artifacts in image   
Liver = bwareaopen(clearThresh,100); %% Remove objects less than 100 pixels
Liver1 = imfill(Liver,'hole'); % fill in the vessels inside the lungs
figure,imshow(Liver1.*cropped)

你会得到什么:

这篇关于在 CT 图像中分割肺和结节的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆