资源简介
训练神经网络需要大量数据,目标检测中需要先进行标记。肺结节的检测非常普遍。现分享一个自己在胸部CT肺质标记的方法。
代码片段和文件信息
% (图像分割)MATLAB胸部CT肺质提取
% demo
% by HPC_ZY 20190718
clear; close all; clc
load imset % 数据集
showflag = 0; % 是否显示中间图像
imidx = 1; % 测试图像序号
im = im2double(imset{imidx});
%% 1.阈值分割
% 全局分割
imbi0 = imbinarize(im);
% 基于轮廓像素分割
Eidx = edge(im‘log‘); % 拉普拉斯获取边缘
E1 = im(Eidx); % 获取边缘像素
E1 = E1(E1>0);
imbi1 = imbinarize(imgraythresh(E1));
% 基于有效像素分割
E2 = im(im>0.02); % 获取非0像素
imbi2 = imbinarize(imgraythresh(E2));
if showflag
figure
subplot(221)imshow(im)title(‘\fontsize{16}原图‘)
subplot(222)imshow(imbi0)title(‘\fontsize{16}全局分割‘)
subplot(223)imshow(imbi1)title(‘\fontsize{16}基于轮廓像素分割‘)
subplot(224)imshow(imbi2)title(‘\fontsize{16}基于有效像素分割‘)
end
%% 2.提取人体部分
% 计算连通分量
[labelnum] = 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;
if showflag
figure
subplot(121)imshow(imbi0)title(‘\fontsize{16}二值图‘)
subplot(122)imshow(imbi)title(‘\fontsize{16}胸腔‘)
end
%% 3.提取疑似肺质
imbiFull = imfill(imbi‘hole‘); % 填充
objtmp = imbiFull-imbi;
if showflag
figure
subplot(131)imshow(imbi)title(‘\fontsize{16}胸腔‘)
subplot(132)imshow(imbiFull)title(‘\fontsize{16}填充‘)
subplot(133)imshow(objtmp)title(‘\fontsize{16}疑似肺质‘)
end
%% 4.去除非肺质
P = 2000;
MASK = bwareaopen(objtmpP4); % 删除面积小于P的连通分量
if showflag
figure
subplot(131)imshow(objtmp)title(‘\fontsize{16}疑似肺质‘)
subplot(132)imshow(MASK)title(‘\fontsize{16}肺质MASK‘)
subplot(133)imshow(im)title(‘\fontsize{16}原图‘)
end
%% 5.其他优化操作
% 略
figure
subplot(221)imshow(im)title(‘\fontsize{16}原图‘)
subplot(222)imshow(imbi)title(‘\fontsize{16}胸腔‘)
subplot(223)imshow(objtmp)title(‘\fontsize{16}疑似肺质‘)
subplot(224)imshow(MASK)title(‘\fontsize{16}肺质MASK‘)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 320835 2019-07-18 11:11 imset.mat
文件 2072 2019-07-18 11:18 demo.m
----------- --------- ---------- ----- ----
322907 2
- 上一篇:医学三维重建MATLAB体绘制算法:多层面重建MPR
- 下一篇:博弈对策matlab
相关资源
- 博弈对策matlab
- 医学三维重建MATLAB体绘制算法:多层
- 代码MATLAB摄像头实时图像处理
- 《MIMO-OFDM无线通信技术及MATLAB实现》
- 基于matlab的直接序列扩频通信
- 传感器MATLAB仿真程序
- R2015b_patch_1465823_2016-09-23(Mac上Matlab
- 正则化matlab工具包
- 滚动轴承性能退化评估的小波包熵m
- 地震资料处理中的MATLAB实现 seismicla
- 基于Matlab的LMS仿真
- 基于MATLAB实现说话人识别含源程序
- QPSK的matlab实现,调制解调
- 人脸识别MATLAB程序
- capon谱估计 MATLAB
- MATLAB仿真 微电网下垂控制MATLAB仿真
- 用matlab实现银行卡卡号定位并自动切
- MATLAB版代码红外与可见光图像配准算
- 元胞自动机交通流模型 matlab 代码
-
低压 svg 的 MATLAB simuli
nk 仿真 - 小波滤波可用于心电信号、脉搏波信
- IR-UWB系统的matlab代码
- 元胞自动机NaSch模型MATLAB代码
- matlabs神经网络-基于模糊神经网络的水
- 八大排序算法的MATLAB实现
- MATLAB仿真资料
- 光伏最大功率点跟踪mpptmatlab模型mat
-
工程用光伏电池 matlab simuli
nk 仿真模 - 仿真软件MATLAb搭出来的一个光伏电池
- 光伏电池仿真模型 通过MATLAB仿真 效果
评论
共有 条评论