image_noise


image_noise, an Octave code which adds noise to an image.

A black and white or gray scale image can be represented using a 2D array of nonnegative integers over some range 0 to GMAX. The value 0 indicates black, and GMAX white. Intermediate values represent shades of gray in a natural way. Note, however, that the eye has a nonlinear response to intensity, so that the value GMAX/2 will not be perceived as halfway between 0 and GMAX. That is a separate issue.

A color image can be represented using a set of 3 2D arrays, which can be thought of as R, G, and B, and which represent the intensity of the red, green and blue signals that combine to form the color image. A common maximum value is assumed, RGBMAX.

An image can be read into MATLAB using the imread() function in the Image Processing Toolbox, and displayed with the imshow() function.

A simple model for noise involves replacing a subset of the image pixels by the extreme low or high values. In a grayscale image, the damaged pixels show up as black or white spots, giving this kind of noise the name "salt and pepper". An RGB image may be damaged by resetting all 3 color values at a given pixel, resulting in white or black pixels; however, a more realistic noise damage would simply choose R, G or B values randomly, so that noisy pixels would show up as those with full or zero value in one color channel, looking as though colored confetti had been tossed onto the image.

More sophisticated models of noise damage involve setting a pixel color value to a uniform or normal random value, or to displacing the pixel color value by a uniform or normal random value.

Licensing:

The information on this web page is distributed under the MIT license.

Languages:

image_noise is available in a MATLAB version and an Octave version. .

Related Data and Programs:

image_noise_test

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

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

image_contrast, an Octave code which applies image processing techniques to increase the contrast in an image.

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

image_denoise, an Octave code which applies image processing techniques to remove noise from an image.

image_diffuse, an Octave code which uses diffusion to smooth out an image.

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

image_edge, an Octave code which demonstrates a simple procedure for edge detection in images.

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

image_threshold, an Octave code which makes a black and white version of a grayscale image by setting all pixels below or above a threshold value to black or white.

Reference:

Source Code:


Last revised on 04 August 2024.