如何使FCM的输出一致(模糊c均值聚类)?

6视图(30天)
大家好,
[问题]
我有大脑的dicom图像。我需要细分成3集群。我使用了FCM方法(代码给定的波形)。它是一个3 FCM的阈值水平。当我把它应用到图像,我得到3集群,但出现在不同的数字图像。所以我不能用fcmImage (index1{1 1}),为下一步在下次fcmImage (index1{1 1})可以更换其他指数,例如与fcmImage (index1 {1,2})。
(代码)
关闭所有;清晰的所有;clc;
我= im2double (imread (“brain.jpg”));
I = imadjust(我);
data =[我(:));
%的集群
num_clust = 3;
模糊c %分类与3类
[中心,U, obj_fcn] = fcm(数据,num_clust);
%找到每个类的像素
maxU = max (U);
fcmImage(1:长度(数据))= 0;
n_c = 1: num_clust
index1 {n_c} =找到(U (n_c:) = = maxU);
结束
%将像素分配给每个类提供一个特定的值
fcmImage (index1 {1}) = 0.9;
fcmImage (index1 {1,2}) = 0.5;
fcmImage (index1 {1,3}) = 0.3;
[M, N] =大小(我);
%重塑形象的数组
imagNew =重塑(fcmImage, M, N);
图;imshow (imagNew, []);
%图;imshow(我,[]);
这里有随机输出图片:
(需要) 如何使FCM的输出更一致,是否有标签。
(Matlab版本) R2015b
(确认) 提前感谢任何帮助。我将投票给你所有的答案。
@Image分析师
@Walter罗伯森
2的评论
Diboun Mohsen Djawad
Diboun Mohsen Djawad 2021年9月8日
使用:提高(“违约”);
就像之前:兰德…或者别的什么
它将工作确保你的Matlab版本不是太老了:)

登录置评。

答案(1)

Dayangku努尔Faizah Pengiran穆罕默德
如何找到阈值在FCM代码?
(ctr,类)= fcm(数据,2);
你如何找到内心的fcm从MATLAB代码?
1评论
帕拉维·埃呀尔萨哈
帕拉维·埃呀尔萨哈 2017年9月14日
fcm的输出是不断变化的,任何思想在这方面会有帮助

登录置评。

类别

找到更多的在数据聚类帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!