A reader recently requested more information about Curve adjustments which were used in a previous blog. Today’s blog will address that request by providing information about both Levels and Curves. The earlier blog discussed a photograph of a Beechcraft T-6C airplane and it may be helpful to see that poop if you have not done it already.
The airplane was dark blue with a wide orange-red stripe and a white T-6C symbol. Film exposure was chosen to place dark areas of the plane on Zone IV (slightly darker than middle gray) to obtain better separation of its structural features even though the final image was visualized with deeper dark areas (Zones 0 – III). I planned to deepen the dark areas of the plane during digital editing later.
The 4inch x 5inch film was scanned to produce a digital file which is shown below without editing.
The scanned image is quite flat. Exposing the dark metal for Zone IV rather than darker Zones obviously caused the flatness.
The gray level histogram for the scanned image is provided by PhotoShop below. A gray bar below the histogram indicates that pure black tones are located at the far left, middle gray is at the center and pure white is at the far right of the histogram.
PhotoShop provides histograms with an 8-bit scale (256 gray levels) even though the digital file obtained from the film has 16-bit pixel depth, or 65,536 gray levels. This is done merely to make the plot visually simpler. That is, the photo’s 65,536 gray level range was temporarily converted to a 256 gray level range since evaluating a chart with 65,535 gray levels is more difficult for most of us. The original image data actually remains 16-bit.
The histogram shows that the image contains a small population of pure white pixels (gray level = 255) but no pure black pixels (gray level = 0).
The histogram also shows that pixels are more-or-less distributed in four main groups. The groups from bright-to-dark (right-to-left) are:
(a) A small population of pixels has brightness values close to and including pure white (gray levels approximately 225-255). These pixels represent the T-6C symbol.
(b) A low, broad peak is located between middle gray and white. These pixels predominantly represent the wide stripe on the airplane.
(c) The largest peak of the histogram includes pixels that range from slightly brighter than middle-gray to midway between middle-gray and pure black. This peak represents dark areas of the plane and is very large because it constitutes the majority of the image area. PhotoShop does not display the entire peak because it is so much larger than other peaks of the histogram and displaying the entire large peak would dwarf other peaks so they would be difficult to see. Note that the large peak contains a shoulder on its right side.
(d) A small population of darker pixels can be seen to the left of the large peak. These are the darkest pixels of the image and are not abundant enough to produce a visible peak. They represent the narrow gap associated with the airplane compartment at the lower left of the image.
Global Levels Adjustment
The first PhotoShop edit for this photograph was a quick adjustment to its histogram. This is called a Levels adjustment in PhotoShop. I usually spend a few minutes exploring an image with temporary adjustments to its histogram by moving the three sliders below the histogram as I watch the image.
This is somewhat akin to making a “test strip” during conventional darkroom printing where numerous small strips of the image are printed with different enlarger exposures. Darkroom printers find test strips to be useful for identifying suitable gray tones for various areas of prints. I find temporary histogram adjustments to be similarly useful during digital printing.
Moving the black slider primarily affects darker image tones whereas moving the white slider primarily affects brighter image tones. Moving each slider while watching the image often helps me identify suitable gray levels for various image areas.
The Levels adjustment window also can be used to identify the location of “clipping” in images (pixels that are pure black or pure white). PhotoShop also makes it easier to evaluate how much clipping is desired in an image. This is accomplished for a Windows operating system by pressing the Alt key while the black or white slider is moved. An equivalent but slightly different command exists for Apple operating systems.
Depressing the Alt key while moving the white Slider displays a black background except for clipped bright pixels of the image (pixels with gray level = 255) which are displayed as white on the black background. Depressing the Alt key while moving the black Slider similarly displays a black background except for clipped dark pixels of the image (pixels with gray level = 0) which are displayed as white.
When I open a Levels adjustment layer, the first thing I normally do is identify the brightest and darkest pixels of the image. This is easily accomplished by depressing the Alt key and sliding the black slider to the right until pixels are clipped (pixels are displayed as white on the black background). Since the darkest image pixels are the first to become clipped, this procedure identifies the darkest pixels of the image. The brightest pixels of the image are identified similarly with the Alt key when moving the white slider to the left.
When this was done for today’s image, its darkest pixels had a gray level of 15 rather than 0 (pure black) whereas its brightest image pixels were pure white (255).
The next thing I normally do with sliders and the Alt key is identify how much clipping is appropriate for an image. This is accomplished by moving each slider while the image is viewed and alternatively depressing the Alt key to note specific image areas that become clipped. This essentially allows me to base a decision about clipping on two types of information – the overall view of the image itself and specific locations of clipping within the image.
Clipping may be desirable for some images and unwanted for others. For example, I wanted a photograph from Death Valley to convey blazing sunlight so sunlit areas of the image needed to be as bright as possible. This involved introducing substantial clipping of bright tones during editing to achieve the feeling that I desired. That image can be seen here. On the other hand, I wanted an image of trees in fog to be soft so absolutely no clipping was wanted for either bright or dark tones. That image can be seen here.
For today’s photograph, a small amount of bright clipping was present in the original image and this was fine since it was confined to a few pixels of the T-6c symbol. However, moving the white slider introduced additional clipping in the symbol and rendered it as a lifeless white block of pixels so the white slider was not moved during editing (the slider was kept at 255).
No dark clipping was present in the original image since its darkest pixels had a gray level of 15 rather than 0. Moving the black slider from 0 to 52 introduced dark clipping in the narrow gap associated with the airplane compartment at the lower left of the image.
The histogram displayed on the left below shows my final slider adjustments for the Levels edit.
The histogram displayed on the right shows the histogram of the image after the Levels adjustment was implemented. A Levels adjustment necessitates computing new gray levels for nearly all image pixels. For example, original image pixels which had gray levels of 15 to 52 became pure black after the Levels adjustment. Those pixels can be seen in the new histogram as a small peak of pure black pixels (gray level = 0). The Levels adjustment introduced dark clipping but the Alt key showed that clipping was confined to the narrow gap of the compartment at the lower left of the image. Clipping was appropriate for that location since the gap is small and pure black is logical.
You may ask, “Why would one want any clipping at all?” For today’s image, the answer is that clipping not only strengthened the gap but the Levels adjustment benefited the remainder of the image, too. Note that peaks became wider in the new histogram after the Levels adjustment was implemented because fewer gray levels filled the same 256 gray level range in the new histogram. Wider peaks mean that more contrast is present.
The image below shows the result of the Levels adjustment. Comparing this image to the scanned image shows that the gap is slightly stronger, dark tones of the airplane became richer, and texture is slightly stronger. The Levels adjustment made the airplane feel harder and more metallic.
Global Curve Adjustment
A Levels adjustment affects nearly all pixels of an image. In contrast to that, a Curve adjustment allows one to change specific gray levels of a histogram independent of other gray levels. In principle, pixels comprising any gray level can be changed independently of all other pixel gray levels. A graphical approach is used to accomplish this by using a curve to specify the changes.
The shape of the initial unadjusted curve is linear. That is, output gray levels are the same as gray levels of the unadjusted image. Image pixels with a gray level of pure black (gray level = 0) are outputted as pure black, pure white pixels (gray level = 255) are outputted as pure white, image pixels with a gray level of 126 are outputted with a gray level of 126, and so on.
The linear curve is identified by a faint straight line that travels from lower left to upper right in the Curve adjustment box. Adjusting the curve (i.e. making it nonlinear) means that output gray levels may no longer be the same as the original image pixel levels.
The image histogram is displayed in the Curve adjustment box to make it easier to identify specific image areas with specific sections of the curve. The final Curve adjustments made for today’s image are shown below.
Four image areas were identified in the histogram for the previous Levels adjustment and some of those same areas were addressed in the Curve adjustment.
(a) Recall that the T-6C symbol was partly but not totally white. The curve was modified to emphasize the symbol’s texture slightly. To accomplish this, the curve was adjusted in the section that contains pixels for this symbol – the upper right end of the curve. The curve section that corresponds to pixels with gray levels = 230–250 was bent downward to darken bright pixels while leaving pure white pixels unchanged. Although the tiny web image provided here doesn’t show it easily, this adjustment produced more texture in the symbol.
(b) The section of the curve that contains pixels from rivets and edges of sheet metal was modified. Those pixels are located in the small shoulder on the right side of the largest peak of the histogram. I wanted to brighten the rivets and metal edges substantially so the curve near the shoulder was bent strongly upward. Comparing the previous image to the image below shows that rivets and metal edges were emphasized significantly by this Curve adjustment.
(c) Pixels corresponding to the dark airplane areas were adjusted. My goal was to darken those image areas while simultaneously increasing contrast to enhance texture within the areas. Both of these goals were accomplished by changing the shape of the appropriate curve segment from linear to S-shaped. That is, the darkest pixels of this histogram area were darkened by bending its curve section downward but the brightest pixels of the histogram area were brightened by bending its curve section upward. This adjustment was important because changing the curve shape increased texture in the largest tonal area of the image. Of course, it is not easy to see the texture improvement in the tiny web image provided here but improvement is obvious in large images.
(d) Finally, the gap of the compartment at the lower left along with the darkest textural areas in dark plane areas were strengthened by increasing the number of black pixels in those areas. This was accomplished simply by moving the black slider of the curve to the right to bend the curve downward and increase dark clipping a bit more.
The result of the global Curve adjustments on the image is shown below.
Local Curve Adjustment
Next, I turned my attention to the wide stripe. The goal of editing was to increase visual separation between the stripe and the dark metal surrounding it. I did not adjust the stripe during the previous Curve adjustment because the stripe was sharply defined and it was better to operate on it separately. PhotoShop’s Magnetic Lasso tool was used to select the stripe and a local Curve Adjustment Layer was opened for the selection.
The local Curve adjustment box is shown below. The histogram is comprised of a single peak that represents pixels selected by the magnetic lasso tool. The peak is centered on light gray tones.
The curve was adjusted in two steps. First, the stripe was brightened substantially by moving its curve upward. Next, the curve area for darker pixels of the stripe (rivet shadows) was bent downward a bit. These two adjustments brightened all areas of the stripe but rivet shadows were brightened less.
This adjustment effectively changed the stripe’s curve shape from linear (the faint straight line) to S-shaped. Moving the curve upward brightened the stripe whereas imparting an S-shape to it increased its texture.
The image shown below includes the local Curve adjustment for the stripe.
Comparing this image to the previous image shows that the overall brightness of the stripe was increased. The greater tonal difference between rivet shadows and brighter areas of the stripe increased the presence of sunlight on the stripe.
Lastly, local retouching was performed using PhotoShop’s Burn and Dodge tools and the final edited image is shown below.
I hope this discussion of Levels and Curve adjustments helps readers understand these edits better. Any comments you might have about this poop will be appreciated.
Randall R Bresee