Connected Components of an Image or Matrix

IMAGE_COMPONENTS is a MATLAB library which seeks to count and label the connected nonzero/nonblack components in an image or integer vector, matrix or 3D block.


The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.


IMAGE_COMPONENTS is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

  • IMAGE_BOUNDARY, a MATLAB library which reports the pixels which form the boundary between the black and white regions of a simple image.
  • IMAGE_CONTRAST, a MATLAB program which applies image processing techniques to increase the contrast in an image.

    IMAGE_DECIMATE, a MATLAB library which compresses an image by dropping the even rows and columns of data.

    IMAGE_DENOISE, a MATLAB program which applies image processing techniques to remove noise from an image.

    IMAGE_DIFFUSE, a MATLAB library which uses diffusion to smooth out an image.

    IMAGE_DOUBLE, a MATLAB library which doubles the height and width of an image by repeating each row and column.

    IMAGE_EDGE, a MATLAB library which demonstrates a simple procedure for edge detection in images.

    IMAGE_MATCH_GENETIC, a MATLAB program which tries to match a 256x256 JPEG image by blending 32 colored rectangles, using ideas from genetic algorithms, based on an example by Nick Berry.

    IMAGE_NOISE, MATLAB programs which add noise to an image.

    IMAGE_QUANTIZATION, a MATLAB library which demonstrates how the KMEANS algorithm can be used to reduce the number of colors or shades of gray in an image.

    IMAGE_RGB_TO_GRAY, a MATLAB function which creates a grayscale version of an RGB image.

    IMAGE_THRESHOLD, a MATLAB library which creates a black and white version of a grayscale image by specifying a single threshold value; pixels below this value become black, and above this value they are white.

    REGION, a FORTRAN90 library which reads 3D MRI voxel data, and groups the voxels into connected regions;


    MathWorks documentation for the Image Processing Toolbox is available at

    Source Code:

    Examples and Tests:

    You can go up one level to the MATLAB source codes.

    Last revised on 28 February 2011.