Point Operations

Work in progress. This note is still being written and incomplete.

2 min read Last updated Tue Aug 18 2026 07:21:39 GMT+0000 (Coordinated Universal Time)

Point operations modify the intensity of a pixel using only that pixel’s own value, in isolation from its neighbours.

  • Context free
  • May use statistical data relating to other pixels, such as the image histogram
  • Homogeneous iff the operation is independent of pixel location

Lookup tables

A lookup table (LUT) maps the current pixel value to an index, returning a new value from the table.

  • Enables on the fly processing, especially on hardware platforms
  • Changing table content changes the operation without changing any code

Examples:

  • Pseudo colouring, e.g. mapping thermal image temperature to RGB
  • Compensating for non-linearity in sensor elements

Grey level histogram

The grey level histogram shows the frequency of occurrence of each intensity level in an image, regardless of pixel position. Its shape describes overall brightness and contrast.

Normalized histogram:

P(k)=N(k)nP(k) = \frac{N(k)}{n}

Here:

  • N(k)N(k): number of pixels with intensity kk
  • nn: total number of pixels

Defines the probability of intensity level kk in the image.

Accumulated histogram:

A(k)=jkP(j)A(k) = \sum_{j \le k} P(j)

Defines the accumulated probability of pixels with intensity level k\le k.

  • Shifting the histogram without changing its width increases brightness, leaving contrast unaffected
  • Histogram width, the intensity difference between the darkest and brightest points, determines contrast

Point processing functions

Common transformations applied to each pixel, typically implemented as a LUT mapping input intensity rr to output intensity ss.

  • Identity
    s=rs = r.
  • Digital negative
    Inverts intensity: s=(L1)rs = (L-1) - r, where LL is the number of grey levels.
  • Square root
    Compresses bright values and expands dark ones.
  • Contrast stretching
    Piecewise linear expansion of a chosen intensity range.
  • Normalizing
    Rescales intensities to use the full available range.
  • Clipping
    Forces values outside a chosen range to the range boundary.
  • Intensity level slicing
    Highlights a chosen intensity band, suppressing all others.
  • Bit slicing
    Extracts one bit-plane of the pixel value.
  • Range stretching or compression
    Maps a chosen input range onto a different output range.
  • Histogram equalization
    Redistributes intensities to make the histogram more uniform.
Was this helpful?