File Exchange

image thumbnail

Fast fuzzy c-means image segmentation

version (8.27 KB) by Anton Semechko
Segment N-dimensional grayscale images into c classes using efficient c-means or fuzzy c-means clustering algorithm


Updated 04 Sep 2020

View Version History

GitHub view license on GitHub

c-means and fuzzy c-means clustering are two very popular image segmentation algorithms. While their implementation is straightforward, if realized naively it will lead to substantial overhead in execution time and memory consumption. Although these deficiencies could be ignored for small 2D images they become more noticeable for large 3D datasets. This submission is intended to provide an efficient implementation of these algorithms for segmenting N-dimensional grayscale images. The computational efficiency is achieved by using the histogram of the image intensities during the clustering process instead of the raw image data. Finally, since the algorithms are implemented from scratch there are no dependencies on any auxiliary toolboxes.

For a quick demonstration of how to use the functions, run the attached 'DemoFCM' file.

If you run into problems using submitted functions, please report them here:

Cite As

Anton Semechko (2020). Fast fuzzy c-means image segmentation (, GitHub. Retrieved .

Comments and Ratings (13)

Kevin Cutler

tri le

Pratama Guntoro

Anton Semechko

Which method? Image segmentation via clustering of pixel/voxel intensities?

Prashant Gautam

is there any research paper related to this method

ELabidi Zineb


Sir...i want my output image as gray image not color how to modify this code..kindly suggest me..plz..


hello sir...great job....i want to embedd this code with MRF..kindly guide i want to give ffcm as input for mrf for initial segmentation...when i do shows error with reshape function..y so? plz help....waiting for reply sir...

Uldis Rubins

Pasha Mahmoudzadeh

tan yuki

May I know what is the algorithm used? Do you have any article? Thanks


if i'd like to do it based on color values and my input image is COLOR image... then? Plz guide

Emmanuel Farhi

This is a very good replacement for the kmeans function, and it does not require any toolbox, and works N-D.

MATLAB Release Compatibility
Created with R2011a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!