(图像分割)MATLAB胸部CT肺质提取

(图像分割)MATLAB胸部CT肺质提取


by HPC_ZY


具体步骤

  1. 阈值分割
  2. 提取人体部分
  3. 提取疑似肺质
  4. 去除非肺质
  5. 其他优化操作

代码实现

  1. 阈值分割
    这里分别提供全局阈值分割、基于边缘像素分割、基于有效像素分割。但这一步我们只是要区别人体和背景,所以用最简单的全局分割就可以了。
% 全局分割
imbi0 = imbinarize(im);

% 基于轮廓像素分割
Eidx = edge(im,'log'); % 拉普拉斯获取边缘
E1 = im(Eidx); % 获取边缘像素
E1 = E1(E1>0);
imbi1 = imbinarize(im,graythresh(E1));

% 基于有效像素分割
E2 = im(im>0.02); % 获取非0像素
imbi2 = imbinarize(im,graythresh(E2));

subplot(221),imshow(im)
subplot(222),imshow(imbi0)
subplot(223),imshow(imbi1)
subplot(224),imshow(imbi2)

三种方法分割结果相差不多
在这里插入图片描述

  1. 提取人体部分
    通过观察不难发现,人体部分在图中所占面积最大(远远大于躺板),所以这一步我们求最大连通分量即可。
% 计算连通分量
[label,num] = bwlabel(imbi0); 
% 计算最大连通分量
MAX = 0;
for k = 1:num
    maxtmp = sum(find(label==k));
    if maxtmp>MAX
        IDX = k;
        MAX = maxtmp;
    end
end
imbi = label==IDX;

figure
subplot(121),imshow(imbi0),title('\fontsize{16}二值图')
subplot(122),imshow(imbi),title('\fontsize{16}胸腔')

在这里插入图片描述

  1. 提取疑似肺质
    通过填充求差即可得到中心黑色部分。
imbiFull = imfill(imbi,'hole');
objtmp = imbiFull-imbi;

figure
subplot(131),imshow(imbi),title('\fontsize{16}胸腔')
subplot(132),imshow(imbiFull),title('\fontsize{16}填充')
subplot(133),imshow(objtmp),title('\fontsize{16}疑似肺质')

在这里插入图片描述

  1. 去除非肺质
    此处仍可利用连通分量的面积,去除一些小的伪目标
P = 2000;
MASK = bwareaopen(objtmp,P,4);  % 删除面积小于P的连通分量

figure
subplot(131),imshow(objtmp),title('\fontsize{16}疑似肺质')
subplot(132),imshow(MASK),title('\fontsize{16}肺质MASK')
subplot(133),imshow(im),title('\fontsize{16}原图')

在这里插入图片描述

  1. 其他优化操作
    可根据自己对MASK的需求,采取一些形态学操作或二值中值滤波等,这里不再举例。

测试结果

在这里插入图片描述


其他

有任何问题欢迎讨论,最后还是把测试代码上传
(包含上述完整代码,及测试数据)
https://download.csdn.net/download/xsz591541060/11380640
由于代码段已在文中给出,不推荐下载,如果你买了年VIP,下载。

  • 25
    点赞
  • 164
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
基于Matlab的神经网络肺部CT图像分割是一种利用深度学习技术进行图像处理的方法。该方法主要通过训练一个神经网络模型,来实现对肺部CT图像的自动分割,以便提取肺部区域。 首先,针对肺部CT图像,我们需要先进行图像预处理。这包括对图像进行去噪、灰度标准化、增强对比度等处理,以便在后续的分割过程中得到较好的效果。 接下来,我们构建一个基于深度学习的神经网络模型,用于对肺部CT图像进行分割。这可以使用基于卷积神经网络(CNN)的方法,如U-Net等。神经网络模型的训练需要一定数量的标注样本,这些样本由专业人员手动进行标注,标注出肺部区域。通过多次迭代训练,使得神经网络模型能够逐渐学习到图像中肺部区域的特征。 当神经网络模型训练完成后,我们可以将其应用于新的肺部CT图像中。通过将图像输入到训练好的神经网络模型中,模型将输出一个二值化的分割结果,其中白色表示肺部区域,黑色表示非肺部区域。 最后,我们可以根据分割结果对肺部进行进一步的分析和处理。例如,提取肺部的形状、面积等信息,或者进行后续的病变检测和诊断。这些分析和处理可以帮助医生更好地理解和诊断患者的肺部状况。 总结起来,基于Matlab的神经网络肺部CT图像分割是一种有效的图像处理方法,它可以自动地提取肺部区域,为后续的分析和诊断提供帮助。但需要注意的是,该方法需要足够的标注样本和较长的训练时间,同时还需要人工输入一些预处理参数,以获得较好的分割效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值