找回密码
 注册
关于网站域名变更的通知
查看: 633|回复: 1
打印 上一主题 下一主题

基于matlab模糊聚类算法FCM之图像分割

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-4-28 18:19 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
" A6 m# b2 m5 L+ I& Z
一、简介
7 I0 B. y# S) x& c6 Q* `伴随着模糊集理论的形成、发展和深化,RusPini率先提出模糊划分的概念。以此为起点和基础,模糊聚类理论和方法迅速蓬勃发展起来。针对不同的应用,人们提出了很多模糊聚类算法,比较典型的有基于相似性关系和模糊关系的方法、基于模糊等价关系的传递闭包方法、基于模糊图论的最大支撑树方法,以及基于数据集的凸分解、动态规划和难以辨别关系等方法。然而,上述方法均不能适用于大数据量的情况,难以满足实时性要求较高的场合,因此实际应用并不广泛。3 n" Y. {* w6 g+ y; F

8 L: s- m* E! ?: F5 M  _模糊聚类分析按照聚类过程的不同大致可以分为三大类:* _. R9 N  i: q: Z
( N- s2 t9 U/ K+ s# `/ ]; N
(1)基于模糊关系的分类法:其中包括谱系聚类算法(又称系统聚类法)、基于等价关系的聚类算法、基于相似关系的聚类算法和图论聚类算法等等。它是研究比较早的一种方法,但是由于它不能适用于大数据量的情况,所以在实际中的应用并不广泛。
; W/ |" i. k+ M; h7 H8 [& h0 J+ l- F: P; Y
(2)基于目标函数的模糊聚类算法:该方法把聚类分析归结成一个带约束的非线性规划问题,通过优化求解获得数据集的最优模糊划分和聚类。该方法设计简单、解决问题的范围广,还可以转化为优化问题而借助经典数学的非线性规划理论求解,并易于计算机实现。因此,随着计算机的应用和发展,基于目标函数的模糊聚类算法成为新的研究热点。
( ?( a! ~' n. k& a9 Y+ S* C9 o
6 S1 K% |7 n" F4 e(3)基于神经网络的模糊聚类算法:它是兴起比较晚的一种算法,主要是采用竞争学习算法来指导网络的聚类过程。
# D1 z7 C' R+ l2 g; b& V: ~2 B- \5 a( S, P' ?4 q' L
在介绍算法之前,先介绍下模糊集合的知识。( ?' F$ i% `" u5 T/ a& N2 Z# s! p
* V+ ~) G% b* G8 b& r
HCM聚类算法
0 A9 H6 g; M9 ^8 E
2 z# E" ^, J: r( p1 F
  •     首先说明隶属度函数的概念。隶属度函数是表示一个对象x 隶属于集合A 的程度的函数,通常记做μA(x),其自变量范围是所有可能属于集合A 的对象(即集合A 所在空间中的所有点),取值范围是[0,1],即0<=μA(x),μA(x)<=1。μA(x)=1 表示x 完全隶属于集合A,相当于传统集合概念上的x∈A。一个定义在空间X={x}上的隶属度函数就定义了一个模糊集合A,或者叫定义在论域X={x}上的模糊子集A’。对于有限个对象x1,x2,……,xn 模糊集合A’可以表示为:
    8 P6 B) F5 \$ n3 K0 {. W6 w
2 P- h5 p, W; E: A3 r
/ {  B3 Y2 ?# H  I9 ?) P4 B- r1 a- `
( a5 h; L& a+ l6 H  H/ |  W

8 _: ~4 c. G: u% V 5 `4 _6 c1 R& n% S# d% W# q
9 Q& z8 M2 z4 }, E2 e! r* \3 O

. |( D% [8 U& Z$ S0 K2 Z# d
# o' m7 h& w1 I8 l: t 4 m! E/ J$ U! M

/ I% x3 g2 |# Q" b( B/ M+ l+ ^0 ^2 Y! p9 v% l
3 u# {) l. N, l# ^
FCM算法流程图& f8 `# u. @3 |; P' C/ `

8 m  D& S% p+ t; mFCM算法是目前比较流行的一种模糊聚类算法,究其原因大致有以下几个方面:首先,模糊C—均值泛函Jm仍是传统硬C一均值泛函J1的自然推广;硬C一均值泛函J1是一个应用十分广泛的聚类准则,对其在理论上的研究己经相当完善,这就为Jm的研究提供了良好的条件;数学上看,Jm与RS的希尔伯特空间结构(正交投影和均方逼近理论)有密切的关系,因此比其它泛函有更深厚的数学基础;最后,也是最重要的是该目标函数不仅在许多领域获得了非常成功的应用,而且以FCM算法为基础,人们提出的基于其它原型的模糊聚类算法,形成了一大批FCM类型的算法:如模糊C一线(FCL)、模糊C一面(FCP)等聚类算法,分别实现了对呈线状、超平面状结构模式子集(或聚类)的检测。
( k6 e9 p+ Q+ S/ N+ C5 b: k
, |9 W3 p4 e8 r& h8 q+ h, V$ u, B9 u% [8 I( @$ U
FCM算法应用到颜色迁移中8 A  ^- W/ Z1 M, M" x0 v) v

5 d; T5 h; n6 Z
  •     钱小燕等人将聚类算法应用到色彩迁移中,提出了一种基于图像模糊颜色聚类的自适应色彩迁移算法。该算法首先将源图像和目标图像分别转换到lαβ颜色空间:利用FCM 算法把源图像和目标图像划分为具有不同颜色特征的聚类,然后分析图像中的颜色特征:分别算出每个域的匹配权值,对每个目标图像的匹配权值,从源图像中选取一个最接近域作为最佳匹配域;最后根据目标图像各聚类域与源图像中的匹配域之间的关系,引入隶属度因子,两个域的处理结果分别进行加权平均,获得色彩迁移结果。使用FCM的思想对图像进行聚类域划分的思路是:设准备处理图像I的大小是S×H,即对颜色聚类颜色分析的个数是N,N = S×H,则图像I可表示成集合,I={p1 ,p2 ...,pn }。图像被分为c类,每个类的聚类中心为V={v1,v2 ...,vc },用uik表示像素pk隶属于聚类中心Vi的隶属度,定义图像的隶属度矩阵U。具体算法如下:' ^' |% e0 T4 N9 Z) r

" ?9 ^* @8 l3 x/ c/ T6 F; r6 E
# B$ n+ O- f# w4 H7 f3 ?, E% G" O$ S' D. j3 U- a
步骤一:把源图像和目标图像分别从RGB转换到lαβ空间。5 Q4 V9 {( w: j5 W& S
; @$ Q2 c) R" p5 Z* b# r% E
步骤二:确定待处理图像聚类域个数c,然后初始化聚类中心。假设加权指数m=2,设定处理的最大迭代次数为50。% E9 D/ G  J6 b/ `# ?2 P
+ z" ~' T, Q+ g- e* c2 V5 L
步骤三:当迭代次数T 小于50 时,根据初始化聚类中心计算隶属度矩阵。如果pk≠vi,则对于所有的vi ( i=1,2,…,C ),利用下式计算隶属度矩阵。
4 K  I6 P+ v$ G- i, D' a0 S  S& g' {$ F) v5 ?) q
$ Q( U. U) Q% K/ {) W6 S2 i

' P+ b% y4 o* {1 J7 ^, N
3 r% U1 G* o& U5 B4 v: f( d
* m% g# A% O8 {) F( T+ s: @4 C( N. `; G

7 P7 t# s4 R# p4 Y二、源代码
+ X% l: I' h) ]$ m: r0 ?( u
8 J- W5 j' O0 N. F. W8 }! {
  • %% 程序分享
  • %--------------------------------------
  • clear
  • close all
  • clc
  • %% %%%%%%%%%%%%%%%图像%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  • I=imread('3096.jpg');
  • if size(I,3) == 3
  •    I=rgb2gray(I);
  • else
  • end
  • I=im2double(I);
  • figure;imshow(I);title('(a)原始图像')
  • % I=I;%不加噪声
  • %I=imnoise(I,'speckle',deta_2);
  • % I=imnoise(I,'salt & pepper',0.05); %加噪图
  • % I=imnoise(I,'gaussian',0,0.01); % 加高斯噪声
  • figure;imshow(I);title('(b)加噪图像');
  • imwrite(I,'2.jpg');
  • [m,n]=size(I);
  • %k 聚类数目
  • k=2;
  • % k=3;
  • I4 = I(:);  %% 将图像灰度按列排列
  • %% ------------------------ fcm算法------------------------
  • fcm_spatial_mean_label=zeros(m*n,1);
  • t=cputime;
  • tic;
  • [O2, U2, obj_fcn2] = fcm(I4, k);
  • toc;
  • time_fcm_spatial_mean=cputime-t;
  • %% 最大隶属度原则
  • maxU2 = max(U2);   %隶属度最大
  • for j=1:k
  •     index = find(U2(j, :) == maxU2);  %隶属度最大对应的像素位置
  •     fcm_spatial_mean_label(index) = j;
  • end
  • labels2=reshape(fcm_spatial_mean_label,[m n]);
  • labels2=uint16(labels2);
  • %% 显示聚类分割图
  • labels2(find(labels2==1))=0;
  • labels2(find(labels2==2))=255;
  • labels2(find(labels2==3))=180;
  • labels2(find(labels2==4))=100;
  • labels2=uint8(labels2);
  • figure;imshow(labels2,[]);title('(c)聚类分割图');
  • imwrite(labels2,'3.1.tiff','tiff','Resolution',300);%输出结果,保存为tif图片% E/ r5 E  U" K) L5 I7 T
     
3 E2 C+ h: e: s  n( t& }
5 |& s9 B% J; D2 u& Y% X( f* }' c1 Z. L. Y  v( \
三、运行结果
' S- z" W3 y( ^# ~; S( O: h9 e  b+ Z1 e0 W. F1 w8 J) t  @! G( O5 M

1 y  r$ E6 d% q1 V
7 C  C! M/ p* A' u7 o 8 g5 w! \: h" m5 U+ o) a

- L% m  y' Z" f, t
7 L( |: g6 k- Y3 B& x' @7 y5 M% W
# a& m( [/ s8 V

该用户从未签到

2#
发表于 2021-4-28 18:31 | 只看该作者
基于matlab模糊聚类算法FCM之图像分割
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 00:52 , Processed in 0.171875 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表