主权项 |
一种基于数字图像处理技术的血管管径测量方法,其具体步骤为:第一步,图像增强:取血管段长度L=7,血管半径为3σ,σ=1,设像素点(x,y)经旋转变换后得到的坐标值为(u,v),将坐标值(u,v)代入滤波核计算式ki(x,y)=exp(‑u2/2σ2),其中,i=0,1,...,11,且(u,v)满足u≤3σ,|v|≤L/2;令实际应用滤波核为k'(x,y)=(k(x,y)‑mi),其中mi为ki(x,y)均值;对原图像进行卷积并以峰值作为输出值得到增强后的图像I;第二步,归一化:令归一化之后的图像为y=I/原图像的最大灰度值,其中I为增强后的图像;第三步,二值化:首先采用最大类间方差法求取二值化阈值并生成二值图像,然后考察阈值所求得的血管部分在二值图像中所占的比率,若比率小于经验值0.35,则增大阈值,重新产生二值图像,直至产生满足要求的二值图像为止;第四步,细化:利用形态学方法进行骨架化运算,得到血管骨架图像;第五步,用模式匹配的方法来确定血管的交叉点:首先,记录骨架线上各像素点的坐标,获取血管骨架的空间位置信息;然后,根据血管交叉朝向的不同,用模式匹配的方法来确定血管的交叉点;第六步,用8‑邻域扫描算法对骨架线上的像素点跟踪:对每个血管交叉点进行循环并且做标记,用来判断该血管交叉点是否已经处理,并且判断该血管交叉点的类型;对每个血管交叉点判断其邻域的8个像素中,如果只有一个没做标记的血管点,则该血管点被看作是血管段上的下一点,做上标记后继续进行处理;如果有超过两个没做标记的血管点,则当前血管交叉点被记为分支,将没做标记的血管点做上标记后,作为新血管段的起点,然后把检测到的新血管段上的下一点作为当前点,再判断其邻域的8个像素,直到检测到血管的另一个分支点为止,这样就处理完了一段血管;第七步,测量像素点之间的物理距离:输入一幅标尺图片,采用sobel算子对标尺图像进行边缘检测;然后,对标尺图像进行水平投影和垂直投影,取灰度值大于最大灰度值的一半的点,用矩形标出并截取出灰度值大于最大灰度值的一半的区域;然后,对截出的矩形区域二值化,计算出矩形内每一行像素点的个数,再求出这个矩形内脉冲的个数即刻度的个数;最后,用矩形区域每一行像素点的总个数除以刻度的个数并求平均值,即相邻刻度间像素的平均个数,再用最小刻度除以相邻刻度间像素的平均个数,所得结果为像素点之间的物理距离,即点距;第八步,管径测量:把检测到的一个血管段上的点放在一个一维数组里,根据一维数组 里的点拟合一条直线,并且求出该直线的斜率;然后,以6个像素为步长跟踪检测该血管的骨架线:将每隔6个像素检测到的点为当前处理点,沿与这条骨架线拟合出来直线斜率相垂直的方向,向两边进行检测,直到检测到背景,把当前处理点的两个方向的像素个数相加起来就是血管管径所占有的像素个数;最后,根据第七步中所得点距求出血管管径所占有的像素个数对应的长度,即为该段血管的血管管径;重复执行第八步,直至所有的血管段都测量完毕。 |