如何应用 Matlab 模糊 C 均值 (fcm) 输出进行图像分割

Posted

技术标签:

【中文标题】如何应用 Matlab 模糊 C 均值 (fcm) 输出进行图像分割【英文标题】:How to apply Matlab Fuzzy C-means (fcm) output for image segmentation 【发布时间】:2017-08-28 06:36:05 【问题描述】:

我有一个 2D 灰度图像(= 数据),我正在尝试使用 fcm.m 对其进行分割:

Nc=2; %number of clusters is 2

[centers,U] = fcm(data,Nc);

如何应用 fcm.m 的输出来分割原始图像。我在网上找不到工作示例。

【问题讨论】:

【参考方案1】:

只要reshape:

img = im2double(imread('cameraman.tif'));
Nc = 2; %number of clusters is 2

[centers,U] = fcm(img(:),Nc);
subplot(121);
imshow(reshape(U(1,:),size(img)),[])
title('fuzzy membership for class 1')
colorbar()
subplot(122);
[~,I] = max(U,[],1);
imshow(reshape(I,size(img)),[])
title('hard membership')
colorbar()

【讨论】:

以上是关于如何应用 Matlab 模糊 C 均值 (fcm) 输出进行图像分割的主要内容,如果未能解决你的问题,请参考以下文章

图像分割基于空间信息的模糊均值聚类算法实现图像分割matlab源码

matlab基于局部信息的模糊C均值聚类算法(FLICM)实现图像分割

matlab基于局部信息的模糊C均值聚类算法(FLICM)实现图像分割

图像分割基于局部信息的模糊C均值聚类算法(FLICM)实现图像分割matlab源码

FCM聚类算法简介

FCM聚类算法介绍