【图像分割】基于ISODATA算法实现视网膜血管分割提取附matlab代码

1 简介

基于统计模式识别中非监督学习动态聚类算法ISODATA算[1],将彩色图像(RGB空间)中由像素的R、G、B分量组成的三维矢量看作待分类的模式样本,定义相似度函数作为类间合并和分裂的依据,通过设定初始参数进行迭代,考虑聚类算法应用于图像分割的一些具体问题并加以改进,最后将图像分割成互不相交的区域,取得了良好的效果.

2 部分代码

clear all;clc;I = imread('retina_images\1.tif');I = imresize(I,.8);figure, imshow(I);title('Input retina image');input = rgb2gray(I);gt1 = imread('label_images\1.tif');gt1 = imresize(gt1,.8);gt_image = im2bw(gt1);figure, imshow(gt1);title('Ground truth image');segmented_image = segmentRetina(input);[P, N, T] = calculatePNT(segmented_image,gt_image);%figure, imshow(gt_image);figure, imshow(segmented_image);title('Segmented image');fprintf('Value of P is : %.2f\n', P);fprintf('Value of N is : %.2f\n', N);fprintf('Value of T is : %.2f\n', T);

3 仿真结果

【图像分割】基于ISODATA算法实现视网膜血管分割提取附matlab代码_第1张图片

4 参考文献

[1]王欣. 基于视网膜血管分割的系统设计与实现[J]. 信息与电脑, 2019(11):3.

[2]万建, 王继成. 基于ISODATA算法的彩色图像分割[J]. 计算机工程, 2002, 28(5):3.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

 

你可能感兴趣的:(图像处理,matlab,算法,开发语言)