image_contrast, a MATLAB code which carries out a simple contrast enhancement operation on an image.

Note that MATLAB's image processing toolbox includes functions such as nlfilter() which can do a more sophisticated treatment of images. But the purpose of this example is to demonstrate the process of image enhancement in a way that is clear enough to understand quickly.

For a gray-scale image, the function has the form:

function gray_enhanced = contrast_gray ( gray, s )

The corresponding function contrast_rgb() operates on RGB images.


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


image_contrast is available in a MATLAB version.

Related Data and Programs:

image_boundary, a MATLAB code which reports the pixels which form the boundary between the black and white regions of a simple image.

image_components, a MATLAB code which seeks the connected "nonzero" or "nonblack" components of an image or integer vector, array or 3D block.


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

image_denoise, a MATLAB code which demonstrates a simple technique for removing noise from an image.

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

image_edge a MATLAB code which demonstrates a simple procedure for edge detection in images.

image_noise, MATLAB codes which add noise to an image.

image_quantization, a MATLAB code 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, MATLAB codes which makes a grayscale version of an RGB image.

image_threshold, MATLAB codes which make a black and white version of a grayscale image by setting all pixels below or above a threshold value to black or white.


MathWorks documentation for the Image Processing Toolbox is available at

Source Code:

Last revised on 02 February 2019.