To begin with, it is important to understand that image enhancement is applied to facilitate visual interpretation and understanding of images. The enhancement will not change the radiometric values of the objects in the image;it will just allow an observer a better view of these objects. This step,therefore, only serves to help the user define the learning samples and signatures to be used in the classification.
Digital images have the advantage of enabling and easily manipulation of the values recorded for each pixel. Although it is possible to perform radiometric adjustments for the effects of solar illumination, atmospheric conditions and characteristics of the instruments used before distributing the images to users, it may be possible the image is not at its best for visual interpretation. Remote sensing systems, especially those using a spatial platform, must be designed to handle the different energy levels of the targets and their environment, which may be found in normal conditions of use. This significant variation in the spectral response of the different types of targets (eg forest, desert, snow, water, etc.) makes it impossible to apply a general radiometric adjustment likely to optimize the contrast and intensity levels in each one of the different conditions. Therefore, a different adjustment of the tones according to the use and the state of each of the images, has to be performed.
In an untreated image, the useful information is often included in a restricted set of numerical values among the possible values (256 in the case of 8-bit data). The enhancement of the contrasts is performed by changing the initial values so as to use all the possible values, which increases the contrast between the targets and their environment. To understand how this type of enhancement works, one must, first, understand the concept of an image histogram. A histogram is a graphical representation of the numerical values of intensity that make up an image. These values (from 0 to 255 for 8-bitdata) appear along the x-axis of the graph. The frequency of occurrence of each of these values is presented along the y-axis.
In the case of a satellite image band, the values will not be in a grey
scale but, as in this histogram, in radiance values.
The minimum value present is 0 and the maximum is 40320. But the simple observation of the histogram shows that almost all the values are in a range of between 5,000 and 12,000. The simplest method is a linear enhancement of contrast. In order to apply this method, we must identify the upper and lower intensity limits represented on the histogram (the minimum and maximum values),and using a linear transformation, we stretch these values over all available values.
In the case of our image regarding the corrected red for reflectance we can seethe result of this type of operation using the histogram modification with ArcMap (properties of the image -> symbology -> histograms)
An even stretching of the initial values across all available valuesis not always appropriate, especially when the initial distribution is not uniform. In some cases, a weighted stretch of the histogram may give better results. This method assigns a larger range of values in the portions of the histogram for which the intensity values have a higher frequency. In this way, the details of these regions will be better enhanced than the details of the regions for which the intensity values frequency of the histogram is weaker. In other cases, it may be better to enhance the contrast in a specific portion of the histogram. The ArcMap histogram tool allows you to freely define the zones to be represented:
In the Properties Layer dialog box
You can use the histogram when displaying raster data with the RGB colour Composition and Stretch rendering engines. The histogram displays the valuesof the pixels in the x axis and the number in the y axis. The values of the input pixels are displayed in grey, while those of the output pixels appear in colour.In the absence of histogram stretching, the values of the input pixels are equal to the values of the stretched output pixels. The larger the stretch,the greater the difference between the input and output pixel values.
There are several methods to apply stretching to the histogram : You can click the Lines button
- to create a segmented linear stretch. The result is a segmented linear diagram representing the differences between your input and output values. Use this option to increase the contrast on pre-set ranges.
You can click the Splines button
- to create a nonlinear stretch. The result is a curved linear diagram representing the differences between the input and output values. Use this option to increase contrast over a particular range of values, while reducing contrast on other value ranges.
You can click the Points button
- to create a points based stretch. The result depends on where you place the points representing the differences between the input and output values. Use this option to control the contrast on your custom points.
You can also click in the histogram to place breakpoints. Drag these breakpoints to the adequate location for applying a stretch to certain values. If you know the values you want to stretch, place the mouse cursor on the histogram and look for the input values along the x axis of the linear diagram. Place the breakpoints on these points, and then move the line diagram to the required output value in the y axis. To remove thresholds, hold the cursor on one of them, and then click and drag the threshold off the linear graph. Click the Information button
to display information from several columns of the histogram. If you click an item and drag it into the histogram, the columns are highlighted and the information appears in the Info section of the dialog box. You can click the Smoothing button
to smooth the stretch applied to the points. This results in a smoothed curve replacing the irregular segments. You can continue to click this button until you reach the desired degree of smoothness. You can click on the Cumulative button
to display an aggregated output (y) on the histogram along the input axis (x).
- In the table of contents or the Catalogue window, right-click the raster layer, and select Properties.
- Click the Symbology tab.
- Choose a type of stretch and click on the Histogram button. The Histograms window opens for your raster layer, which allows you to, interactively, use the tools described above to modify the stretch.
Question: Suppose you want to perform a classification on the data of a satellite image. However, when you look at the image histogram,you find that all the useful data is spread over a small range of values. Would it be good to perform a linear contrast enhancement before starting the classification?
Answer:The enhancement of an image is used exclusively to, visually, asses and analyse an image. An enhancement will not add anything useful regarding the classification of an image. Here is another way to explain this answer: if two pixels have a digital intensity value separated by a single level, it is difficult to tell the difference between the two pixels.
However, for a computer, this difference of 1 is as obvious as a difference of 100. The enhanced image may help the analyst to, visually, select the test groups, but the classification will be performed on the original data not enhanced.