File Exchange

image thumbnail

Fast segmentation of N-dimensional grayscale images

version 1.1 (308 KB) by

Partition N-D grayscale image into c classes using efficient C-means and fuzzy C-means clustering



View License

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.

Comments and Ratings (8)

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

tan yuki

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


H612 (view profile)

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

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



Included a function that transforms 1D fuzzy memberships to fuzzy membership maps.

MATLAB Release
MATLAB 7.12 (R2011a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Win prizes and improve your MATLAB skills

Play today