In the good old days, with photo paper in the darkroom, there was a black and white system called multigrade. Multigrade paper was available in six grades and each grade produced photos with different contrast. Today software provides contrast adjustment, but not all contrast adjustments are equal or equally good.
What defines contrast? Contrast is defined as (noun) “The state of being strikingly different from something else, typically something in juxtaposition or close association.” It can also be defined as: (verb) “To set in opposition in order to show or emphasize differences.” This means we in pictures have three different kinds of contrast: contrast of luminance, contrast of color and contrast of saturation. Most software offers a single contrast slider that edits all three at once.
The standard way to manipulate contrast is simply by altering the difference between the individual R, G and B values and the middle value (128); like this: R= (R-128) * contrast + 128; and likewise for green and blue. But what if the image is generally dark or pale, then this method will fail. In that case one will have to use the average values of the image’s R, G and B channels, like this: R=(R-RAverage)*contrast + RAverage. And so on for G and B. The problem with this algorithm, in both cases, is that images tend to become overly saturated and colorful with contrast enhancement. Similarly reducing contrast makes the picture look like you have placed a semi-opaque gray film over it.
When talking about luminance contrast you can use the above algorithms after converting the RGB values to L values (luminance). Luminance is not just the average of RGB, since the channels are not equally bright. Green is brighter than blue. Therefore one usually uses a weighted conversion like this: L = R*0.299 + G*0.587 + B*0.144. This algorithm is used in the YIQ colorspace. Photoshop has a checkbox in their contrast editing panel called: “Use Legacy”. This method has the drawback that the image becomes pushed towards the primaries R, G and B if you enhance contrast and pushed towards a uniform mid-gray if you reduce contrast. It is not very useful.
However, there are several ways to enhance luminance contrast. First you can simply expand the range: if Lmax is 200 and Lmin 50, then you can for example expand the range so Lmax is 255 and Lmin is 0. But what if Lmax and Lmin already are at the extremes? Then you will have to push the existing near mid tone L values towards the extremes. This leaves two options: one will normally lose the mid tones that way and split the photo; alternatively one can use dedicated software that can preserve mid tones while pushing L values towards the extremes.
There is specialized applications for luminance contrast adjustment. If you want to do it in Photoshop, you will have to convert the image to Lab mode, make the L channel alone active and edit contrast for that. Remember not to use Legacy mode or the image will tend towards either black and white or uniform gray. When adjusting contrast, don’t just look at the extremes and the contrast in the picture, but keep an eye on the mid tones.