IMAGE_CONTRAST is a MATLAB function 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 )where
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 GNU LGPL license.
IMAGE_CONTRAST is available in a MATLAB version.
CONTRAST_SPMD, a MATLAB program which demonstrates the SPMD parallel programming feature for a image operations; the client reads an image, the workers process portions of it to enhance the contrast, and the client assembles and displays the results.
CONTRAST2_SPMD, a MATLAB program which demonstrates the SPMD parallel programming feature for image operations; this improves the contrast_spmd program by allowing the workers to share some data; this makes it possible to eliminate artificial "seams" in the processed image.
IMAGE_COMPONENTS, a MATLAB library which seeks the connected "nonzero" or "nonblack" components of an image or integer vector, array or 3D block.
IMAGE_DECIMATE, a MATLAB library which compresses an image by dropping the even rows and columns of data.
IMAGE_DENOISE, a MATLAB program which demonstrates a simple technique for removing noise from 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, MATLAB programs which makes a grayscale version of an RGB image.
IMAGE_THRESHOLD, MATLAB programs 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 http://www.mathworks.com/access/helpdesk/help/pdf_doc/images/images_tb.pdf.
SURFSUP is a grayscale image.
UNDERWATER_BMX is an RGB image. Note that attempts to increase the blurriness of this image using a value of S less than 1 didn't seem to have much effect.
You can go up one level to the MATLAB source codes.