【图像分割】基于计算机视觉实现视网膜图像中的血管分割附matlab代码
【图像分割】基于计算机视觉实现视网膜图像中的血管分割附matlab代码
TT_Matlab
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。
1 简介
视网膜图像里的血管是可以被观察到的一类微血管,并且它是无创伤的,而 其分布位置也属于深度部位 [5] 。其分布、结构和形态特征的变化能在一定程度上反 映病变的程度。而白血病、糖尿病以及高血压等疾病都会引发一些眼科的疾病。 眼底图像的分析是诊断这些眼病的重要方法之一。医学图像分割在图像处理过程 中起到了非常重要的作用,因为对图像的分割效果是好还是坏,将会对后续的图 像处理甚至整个医疗行为产生重大影响。所以说眼底图像的处理完全可以被应用 于医学领域,可以对医疗病症的检查起到很好的辅助作用,当然也就是广泛的应 用在眼科眼底病变问题的诊断与治疗上。人工观察并依照经验诊断的效率比较低, 而且在主观上也存在着一定的缺陷,也正是因为这个原因,我们更需要利用计算 机系统自动检测系统去处理视网膜图像,尤其是分割出其中的血管网络与视盘区 域。 血管、中央凹和视盘是人类视网膜十分重要的三种结构,其相关研究主要用 于多种用途 [5] 。研究视网膜图像是一项具有挑战性的任务,因为血管宽度的变化, 强烈的中央动脉反射,交叉口,高度弯曲的血管部分,以及紧密平行和微小的血 管都是难点。此外,视网膜病变区域更是带来许多工作困难,如视网膜出血引起 血管不清晰,视盘和青光眼有较强的亮度影响等。 当然,眼底图像处理不仅在医学领域有所应用,在其它的各种科研领域也有 着许许多多的应用价值。它与许多其它的人体特征类似,比如说指纹、掌纹、人 脸、虹膜等,存在着个体唯一性,也就是说每一个人的视网膜中血管的分布、血 管的走向、动静脉的交叉情况、曲率、粗细等特征都不一样,所以人类的眼睛信 息也被广泛的用于生物识别领域。 美国的糖尿病学会有报告称,接近 100% 的 I 型糖尿病人以及多于 60% 的 II 型 糖尿病人会在得病的前二十年之内发生视网膜病变,会出现出血、渗出、新生血 管的增生以及结缔组织的增殖等现象 [6] 。并且糖尿病引发的视网膜病变还有可能会 出现下面这种情况:即病症已经发生了数年,但是一直没有出现很明显的视觉障 碍。因此在患者出现视力受损的情况之前,进入检查机构并进行准时、定期的视 网膜病变筛查是唯一得能够及时的发现病变并给予治疗的有效方法。定期的进行 眼底检查成为辅助诊断和预估很多全身疾病的有效手段,由此可见,眼底图像中 的血管分割在医学应用上是极为重要的。
2 部分代码
Test_image=imread(’1.jpg’)
Resized_Image =imresize(Test_image,[584 565]);
Converted_Image=im2double(Resized_Image);
Lab_Image=rgb2lab(Converted_Image);
fill=cat(3,1,0,0);
Filled_Image=bsxfun(@times,fill,Lab_Image);
Reshaped_Lab_Image=reshape(Filled_Image,[],3);
[C, S]=pca(Reshaped_Lab_Image);
S=reshape(S,size(Lab_Image));
S=S(:,:,1);
Gray_Image=(S-min(S(:)))./(max(S(:))-min(S(:)));
Enhanced_Image=adapthisteq(Gray_Image,’NumTiles’,[8 8],’nbins’,128);
Avg_Filter=fspecial(’average’,[9 9]);
Filtered_Image=imfilter(Enhanced_Image,Avg_Filter);
substracted_Image=imsubtract(Filtered_Image,Enhanced_Image)
level=Threshold_Level(substracted_Image);
figure,subplot(221),imshow(Test_image)
title(’Test image 1’)
,subplot(222), imshow(Filtered_Image)
title(’Filtered Image’)
%Binary_Image=im2bw(substracted_Image,level-0.008);
%subplot(223),imshow(Binary_Image)
%title(’Binary Image’)
Clean_Image=bwareaopen(Binary_Image,100);
subplot(223),imshow(Clean_Image)
title(’clean image’)
Complemented_Image=imcomplement(Clean_Image)
subplot(224),imshow(Complemented_Image)
title(’Complemented image’)
3 仿真结果
4 参考文献
[1]游佳, 陈卉. 数字图像中血管的分割与特征提取[J]. 生物医学工程与临床, 2011, 15(1):5.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
