基于MRF的FCM图像分割
一、目标
利用VisualDSP++ 5.0、仿真器、EBF-561实验平台实现该算法,并通过该聚类算法实现图像的不同区域的聚类结果。
二、实现方案
实验原理
MRF理论提供了建模上下文依赖实体的一种方式,实体包括图像像素和相关特征等。
在MRF中,令F={F1,…..,Fm}是一组定义在集合S上的随机变量,其中Fi代表在标签集L中的一个取值fi,Fi=fi代表取值为fi的事件,(F1=f1,…,Fm=fm)代表联合事件(joint event)。假设f={f1,….fm},那么刚才叙述的联合事件则可简记为F=f。对于离散的标签集合L,Fi=fi的概率记作P(Fi=fi),简称P(fi);联合事件的概率记作P(f)。对于连续的标签集合L,我们可以知道pdf p(Fi=fi)和p(F=f)。
对于一个邻域系统N,如果如下两条性质满足:
- P(f) >0 , 对任意的f。(非负性)
- P(fi| fs-{i})=P(fi|fNi)。(马尔科夫性)
那么,我们就称F是一个马尔科夫随机场。
上述1.2中,S-{i}是i除i之外的所有点,如果对于图像来讲,i是其中一个像素,那么S-{i}就是除i之外的其他所有像素;fs-{i}代表的是S-{i}中的所有点的标签集合;fNi={fi’|i’∈Ni}表示点i的邻域的点的标签集合。
实验步骤
Step1:给定图像初始分割(通过阈值法或聚类方法);
Step2:由当前分割更新Pi={Ui,Ei}分别是当前第l类区域的均值和标准方差;
Step3:由当前图像参数和上次迭代的分割结果,并计算每一点最大可能的类别;
Step4:判断是否收敛或达到了最高迭代次数,如果满足则退出;否则返回
Step2,进行下一次迭代。
三、核心代码
1 | unsigned int k,m,temp; |