资源简介
在经典模糊C均值算法的基础上,用五种方法改进方法同时实现不同图形的分割,并且也附带硬C均值算法的实现。
代码片段和文件信息
clcclear all;
%function [IX2]=enfcm(IM);
%IM是输入的源图像
%IX2是分类结果
IM=imread(‘001.jpg‘);
figure(1)
%subplot(221)imshow(uint8(IM))title(‘原始图像‘);
IM=IM(::1);
%subplot(222)imshow(uint8(IM))title(‘灰度图像‘);
[maxXmaxY]=size(IM);%图像大小
%IM = imnoise(IM‘salt & pepper‘0.02);
%IM=imnoise(IM‘gaussian‘00.002);
IM=double(IM);
a=[111;101;111];
im=1/2.8 *(0.125* filter2(aIM)+IM);%参数a=0.5
%subplot(223)imshow(uint8(im))title(‘变换图像‘);
IMM=cat(3imimim);
%初始化聚类中心(3类)
ttFcm=0;%聚类次数,最多15次
cc1=8;
cc2=120;
cc3=200;
while(ttFcm<15);
ttFcm=ttFcm+1;
c1=cc1*ones(maxXmaxY);
c2=cc2*ones(maxXmaxY);
c3=cc3*ones(maxXmaxY);
c=cat(3c1c2c3);
ree=repmat(0.00001maxXmaxY);
ree1=cat(3reereeree);
distance=IMM-c;
distance=distance.*distance+ree1;
%计算隶属度u
distance1=double( distance(::1)+distance(::2)+distance(::3));
u1=distance(::1)./distance1;
u2=distance(::2)./distance1;
u3=distance(::3)./distance1;
%计算聚类中心c
r=zeros(1256); %创建一个全零矩阵,1×256,计算各灰度出现的次数
for i=1:256 ;
r(i)=length(find(im == (i-1)));
end
im=uint8(im);
uu1=zeros(1256);
uu2=zeros(1256);
uu3=zeros(1256);
for m=1:1:maxX*maxY;
uu1(im(m)+1)=u1(m) ;
uu2(im(m)+1)=u2(m) ;
uu3(im(m)+1)=u3(m);
end
x=1:1:256;
ccc1=double(sum(r.*x.*uu1.*uu1)/sum(r.*uu1.*uu1));
ccc2=double(sum(r.*x.*uu2.*uu2)/sum(r.*uu2.*uu2));
ccc3=double(sum(r.*x.*uu3.*uu3)/sum(r.*uu3.*uu3));
abs1=abs(cc1-ccc1)/cc1;
abs2=abs(cc2-ccc2)/cc2;
abs3=abs(cc3-ccc3)/cc3;
tmpMatrix=[abs1abs2abs3];
pp=cat(3u1u2u3);
for i=1:maxX;
for j=1:maxY;
max1=max([pp(ij1)pp(ij2)pp(ij3)]);
if max(max1)==u1(ij)
IX2(ij)=1;
elseif max(max1)==u2(ij)
IX2(ij)=2;
else
IX2(ij)=3;
end
end
end
%判结束条件
if max(tmpMatrix)<0.000000001
break;
else
cc1=ccc1;
cc2=ccc2;
cc3=ccc3;
end
for i=1:maxX;
for j=1:maxY;
if IX2(ij)==3
IMMM(ij)=20;
elseif IX2(ij)==2
IMMM(ij)=255;
else
IMMM(ij)=255;
end
end
end
end
for i=1:maxX;
for j=1:maxY;
if IX2(ij)==3
IMMM(ij)=20;
elseif IX2(ij)==2
IMMM(ij)=255;
else
IMMM(ij)=255;
end
end
end
%显示最终分类结果
IMMM=uin
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 32633 2011-08-13 20:43 基于FCM的图像分割 MATLAB\001.jpg
文件 121078 2006-04-13 10:43 基于FCM的图像分割 MATLAB\002.bmp
文件 25778 2011-08-21 08:30 基于FCM的图像分割 MATLAB\003.jpg
文件 38519 2011-08-20 23:20 基于FCM的图像分割 MATLAB\004.jpg
文件 13745 2002-04-05 10:06 基于FCM的图像分割 MATLAB\005.jpg
文件 99382 2003-08-03 03:32 基于FCM的图像分割 MATLAB\006.bmp
文件 83794 2011-03-10 12:26 基于FCM的图像分割 MATLAB\007.jpg
文件 44607 2003-01-26 01:03 基于FCM的图像分割 MATLAB\008.png
文件 2763 2011-08-18 13:39 基于FCM的图像分割 MATLAB\009.jpg
文件 8183 2011-08-18 13:47 基于FCM的图像分割 MATLAB\010.jpg
文件 263222 2011-06-21 23:41 基于FCM的图像分割 MATLAB\012.bmp
文件 3689 2011-06-20 17:51 基于FCM的图像分割 MATLAB\014.jpg
文件 19694 2002-04-29 14:24 基于FCM的图像分割 MATLAB\015.jpg
文件 10950 2002-05-07 07:48 基于FCM的图像分割 MATLAB\017.jpg
文件 5199 2011-08-18 13:39 基于FCM的图像分割 MATLAB\018.jpg
文件 22612 2002-05-17 09:26 基于FCM的图像分割 MATLAB\019.jpg
文件 61141 2011-08-21 08:30 基于FCM的图像分割 MATLAB\020.jpg
文件 69432 2003-08-08 16:44 基于FCM的图像分割 MATLAB\021.tif
文件 3156 2011-08-21 11:40 基于FCM的图像分割 MATLAB\enfcm.asv
文件 3157 2011-08-22 13:08 基于FCM的图像分割 MATLAB\enfcm.m
文件 2576 2011-08-21 10:05 基于FCM的图像分割 MATLAB\fcm3.asv
文件 2576 2011-08-22 12:37 基于FCM的图像分割 MATLAB\fcm3.m
文件 2824 2011-08-21 11:40 基于FCM的图像分割 MATLAB\fcms1.asv
文件 2821 2011-08-22 13:00 基于FCM的图像分割 MATLAB\fcms1.m
文件 2800 2011-08-21 11:40 基于FCM的图像分割 MATLAB\fcms2.asv
文件 2797 2011-08-22 13:01 基于FCM的图像分割 MATLAB\fcms2.m
文件 2792 2011-08-21 11:40 基于FCM的图像分割 MATLAB\fcm_s.asv
文件 2789 2011-08-22 12:57 基于FCM的图像分割 MATLAB\fcm_s.m
文件 3189 2011-08-21 10:05 基于FCM的图像分割 MATLAB\flicm1.asv
文件 3189 2011-08-22 13:08 基于FCM的图像分割 MATLAB\flicm1.m
............此处省略7个文件信息
相关资源
- 使用PSO算法进行PID控制器的整定matl
- waterfilling注水功率分配算法 带每句注
- 控制向量参数化Matlab案例与编程方法
- matlab2016下载103275
- turbo码编码译码MATLAB仿真程序
- matlab小波信号去噪可用于预测数据预
- MATLAB读取obj文件中的数据
- OFDM,QPSK,MATLAB仿真
- matlab基于多尺度retinex算法的图像去雾
- 一级倒立摆系统的PID控制MATLAB仿真程
- 无线通信-预编码-MATLAB代码合集-毕设
- matlab实现的图像非局部均值滤波
- MATLAB-高斯核密度估计
-
Matlab Simuli
nk 光通信仿真 - 亚像素边缘检测matlab代码
- 基于直方图均衡化,暗通道先验,r
-
matlab读取xm
l,xm l转换为matlab - CRC32 MATLAB代码
-
SVPWM矢量控制异步电机Matlab/simuli
n - 压缩感知之基追踪法BP
- chirp信号matlab代码
- CRC32的matlab代码
- 基于matlab与opendss交互的快速潮流计算
- 基于Matlab的ASKFSKPSK仿真数字调制技术
- HMM工具箱,隐马尔可夫matlab工具
- 三维曲线拟合函数的MATLAB程序
- matlab对光栅的仿真代码
- MATLAB读取ply文件程序
- matlab 图像形状识别
- lm算法的matlab实现
评论
共有 条评论