Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
pmi432 / LR07 / 2read / image processing toolbox guide.pdf
Скачиваний:
150
Добавлен:
18.03.2015
Размер:
18.08 Mб
Скачать

11 Analyzing and Enhancing Images

Removing Noise from Images

In this section...

“Understanding Sources of Noise in Digital Images” on page 11-50 “Removing Noise By Linear Filtering” on page 11-50

“Removing Noise By Median Filtering” on page 11-51 “Removing Noise By Adaptive Filtering” on page 11-54

Understanding Sources of Noise in Digital Images

Digital images are prone to a variety of types of noise. Noise is the result of errors in the image acquisition process that result in pixel values that do not reflect the true intensities of the real scene. There are several ways that noise can be introduced into an image, depending on how the image is created. For example:

If the image is scanned from a photograph made on film, the film grain is a source of noise. Noise can also be the result of damage to the film, or be introduced by the scanner itself.

If the image is acquired directly in a digital format, the mechanism for gathering the data (such as a CCD detector) can introduce noise.

Electronic transmission of image data can introduce noise.

To simulate the effects of some of the problems listed above, the toolbox provides the imnoise function, which you can use to add various types of noise to an image. The examples in this section use this function.

Removing Noise By Linear Filtering

You can use linear filtering to remove certain types of noise. Certain filters, such as averaging or Gaussian filters, are appropriate for this purpose. For example, an averaging filter is useful for removing grain noise from a photograph. Because each pixel gets set to the average of the pixels in its neighborhood, local variations caused by grain are reduced.

11-50

Removing Noise from Images

See “Designing and Implementing Linear Filters in the Spatial Domain” on page 8-2 for more information about linear filtering using imfilter.

Removing Noise By Median Filtering

Median filtering is similar to using an averaging filter, in that each output pixel is set to an average of the pixel values in the neighborhood of the corresponding input pixel. However, with median filtering, the value of an output pixel is determined by the median of the neighborhood pixels, rather than the mean. The median is much less sensitive than the mean to extreme values (called outliers). Median filtering is therefore better able to remove these outliers without reducing the sharpness of the image. The medfilt2 function implements median filtering.

Note Median filtering is a specific case of order-statistic filtering, also known as rank filtering. For information about order-statistic filtering, see the reference page for the ordfilt2 function.

The following example compares using an averaging filter and medfilt2 to remove salt and pepper noise. This type of noise consists of random pixels’ being set to black or white (the extremes of the data range). In both cases the size of the neighborhood used for filtering is 3-by-3.

1Read in the image and display it.

I = imread('eight.tif'); imshow(I)

11-51

11 Analyzing and Enhancing Images

2Add noise to it.

J = imnoise(I,'salt & pepper',0.02); figure, imshow(J)

3Filter the noisy image with an averaging filter and display the results.

K = filter2(fspecial('average',3),J)/255;

11-52

Removing Noise from Images

figure, imshow(K)

4Now use a median filter to filter the noisy image and display the results. Notice that medfilt2 does a better job of removing noise, with less blurring of edges.

L = medfilt2(J,[3 3]); figure, imshow(L)

11-53

Соседние файлы в папке 2read