【图像分割】心脏中心线之提取【Matlab 086期】

一、简介

中心线提取是图像分割的重要步骤之一,中心线提取的好坏直接影响图像分割效果,因此研究中心线提取是很关键的问题

中心线提取大致分为五种:

一 基于拓扑细化的方法

使用形态学腐蚀操作来不断去除物体的边界,直到仅剩其骨架,由于该方法是一个迭代过程,所以会很耗时,且易受图像质量的影响。

二 基于距离变换的方法

通过定位距离物体边界最远的一组点来确定物体的中心线,通常采用欧式距离,可以理解为一系列最大内切球的球心构成了物体的中心线,有代表性的是基于边界的距离变换和基于源点的距离变换

三 基于路径规划的方法

应用于虚拟内窥和机器人路径规划

四 基于追踪的方法

通过判断管状物体的局部方向获得当前位置近似的中心线趋势,并结合图像中物体的局部信息,得到当前位置处物体横截面的中心点。缺点是在追踪过程中未考虑全局信息,会导致中心线提取不完整
在这里插入图片描述

二、源代码

clc;
I = rgb2gray(imread ('22.bmp'));
Id = double(I);
%高斯滤波
h = fspecial('gaussian',[3,3], 2);
Ig = imfilter(Id, h);
%多尺度血管骨架提取
Ivessel = FrangiFilter2D(Ig);
figure,imshow(Ivessel);
%腐蚀
se = strel('disk', 2);
bw2 = imerode(Ivessel, se);
%细化
bw3 = bwmorph(bw2,'thin',inf);
%消除垂直于血管走向的干扰
bw4 = ThreeLinkFilter(bw3);
%消除面积比较小的联通分支
bw5 = bwareaopen(bw4, 256);
figure,imshow(bw5);
%与源图像叠加
Iout = imadd(Id, double(bw5)*255);
%显示结果
figure,
%imshow(Iout, [0, 255]);
imshow(Ivessel, [0, 255]);

三、运行结果

在这里插入图片描述

四、备注

完整代码或者代写添加QQ912100926
往期回顾>>>>>>
【图像压缩】图像处理教程系列之图像压缩【Matlab 074期】
【图像分割】图像处理教程系列之图像分割(一)【Matlab 075期】
【图像分割】图像处理教程系列之图像分割(二)【Matlab 076期】
【模式识别】银行卡号之识别【Matlab 077期】
【模式识别】指纹识别【Matlab 078期】
【图像处理】基于GUI界面之DWT+DCT+PBFO改进图像水印隐藏提取【Matlab 079期】
【图像融合】CBF算法之图像融合【Matlab 080期】
【图像去噪】自适应形态学之图像去噪【Matlab 081期】
【图像增强】DEHAZENET和HWD之水下去散射图像增强【Matlab 082期】
【图像增强】PSO寻优ACE之图像增强【Matlab 083期】
【图像重建】ASTRA算法之图像重建【Matlab 084期】
【图像分割】四叉树之图像分割【Matlab 085期】

你可能感兴趣的:(matlab,图像处理)