资源描述:
《灰度图像分割方法比较》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、基于FCM的图像分割(调用FCM函数)clcclearallI=imread('14.jpg');figure,imshow(I)I2=rgb2gray(I);figure,imshow(I2)I3=reshape(I2,10000,1);I4=im2double(I3);[center,U,obj_fcn]=fcm(I4,2);z1=center(1,:);z2=center(2,:);fori=1:10000%分别计算每个样本到个聚类中心的欧式距离f1=imsubtract(I4(i,:),z1);D1(:,i)=sqrt(f1*f1');f2=imsubt
2、ract(I4(i,:),z2);D2(:,i)=sqrt(f2*f2');endD=[D1;D2];fori=1:10000%并按最近邻规则聚类ifD1(:,i)==min(D(:,i)')%样本中心稳定,则为最终聚类结果s1(i,:)=zeros(1,1);elses1(i,:)=ones(1,1);endendfori=1:10000ifD2(:,i)==min(D(:,i)')s2(i,:)=zeros(1,1);elses2(i,:)=ones(1,1);endenda1=reshape(s1,100,100);a2=reshape(s2,100,100)
3、;figure,imshow(a1)%样本S1组成的图像figure,imshow(a2)%样本S2组成的图像二、基于HCM的灰度图像分割预备知识:1.K—均值算法(HCM)依据准则函数进行分类,具体内容:先选择K个聚类中心,然后根据聚类准则对K个中心反复修改(用迭代法),直至分类合理。聚类过程中,聚类中心数目不变。属于一种硬分类。2.模糊C均值算法(FCM)将上述硬分类模糊化,引入隶属度函数,定义聚类损失函数,并使其最小化(用迭代法求解)。当算法收敛时,可得到各类聚类中心和各个样本对于各类的隶属度值,从而完成模糊聚类划分。Matlab自带了FCM函数,如下例:fu
4、nction[center,U,obj_fcn]=FCM(data,cluster_n,options)%FCM.m 采用模糊C均值对数据集data聚为cluster_n类 %用法:% 1. [center,U,obj_fcn]=FCM(Data,N_cluster,options);% 2. [center,U,obj_fcn]=FCM(Data,N_cluster);%输入:% data ----nxm矩阵,表示n个样本,每个样本具有m的维特征值% N_cluster ----标量,表示聚合中心数目,即类别数% options
5、 ----4x1矩阵,其中% options(1): 隶属度矩阵U的指数,>1 (缺省值:2.0)% options(2): 最大迭代次数 (缺省值:100)% options(3): 隶属度最小变化量,迭代终止条件 (缺省值:1e-5)% options(4): 每次迭代是否输出信息标志 (缺省值:1)%输出:% center ----聚类中心% U ----隶属度矩阵% obj_fcn ----目标函数值% E
6、xample:% data=rand(100,2);% [center,U,obj_fcn]=FCM(data,2);% plot(data(:,1),data(:,2),'o');% holdon;% maxU=max(U);% index1=find(U(1,:)==maxU);% index2=find(U(2,:)==maxU);% line(data(index1,1),data(index1,2),'marker','*','color','g');% line(data(index2,1),data
7、(index2,2),'marker','*','color','r');% plot([center([12],1)],[center([12],2)],'*','color','k')% holdoff;3.图像分割基本原理:根据图像的组成结构和应用需求将图像划分为若干个互不相交的子区域的过程。这些子区域四某种意义下具有共同属性的像素的连通集合。常用方法有:1)以区域为对象进行分割,以相似性原则作为分割的依据,即可根据图像的灰度、色彩、变换关系等方面的特征相似来划分图像的子区域,并将各像素划归到相应物体或区域的像素聚类方法,即区域法;2)以物体边