File Exchange

image thumbnail

Fast segmentation of N-dimensional grayscale images

version (308 KB) by Anton Semechko
Partition N-D grayscale image into c classes using efficient C-means and fuzzy C-means clustering


Updated 30 May 2013

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 (12)

tri le

tri le (view profile)

Anton Semechko

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

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

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 Compatibility
Created with R2011a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Discover Live Editor

Create scripts with code, output, and formatted text in a single executable document.

Learn About Live Editor