Skip to content
SpecializedSource checked

Retinex Algorithm

Retinex Algorithm transforms image pixels into features, masks, or restored output.

Quick Facts

Compact metadata for implementation and discovery.

Category
Image Processing
Difficulty
Intermediate
Family
Image Processing
Tier
Specialized
Status
Verified
Review
Source Checked
Sources
2
Formulas
1
Relationships
1
Code example
Ready
Visualization
Ready

Overview

Retinex Algorithm is an image processing method that measures local image evidence and returns features, masks, segments, or restored pixels. It is useful when later vision steps need a compact feature, mask, or corrected image.

Core Concepts

pixel neighborhoodimage featurelocal responsefilter responseimage mask

Quick facts

Complexity

Runtime and memory behavior at a glance.

Best

O(p)

Average

O(p k)

Worst

O(p k)

Space

O(p)

When to Use

  • Use Retinex Algorithm when its image evidence matches the feature, mask, or restoration task.
  • Use it when downstream vision code can tolerate its noise and scale assumptions.

When Not to Use

  • Avoid when lighting, scale, or noise conditions break the detector's assumptions.
  • Avoid when learned or task-specific methods are available and substantially more accurate.

What It Does

  • Measures local image structure
  • Transforms pixels, regions, or features
  • Produces an image, mask, or feature set

Use Cases

  • Computer vision preprocessing
  • Feature extraction
  • Image restoration

Inputs

  • Input image
  • Kernel, threshold, or model parameters
  • Region or feature settings

Outputs

  • Filtered image
  • Detected features
  • Segmentation or transform result

Key Formulas (1)

Retinex response

R = log(image) − log(blur(image))
R = log(image) - log(blur(image))

Separates local reflectance from broader illumination.

Pseudocode

  1. 1.Prepare the image and method parameters
  2. 2.Evaluate the local response, model, or transform for each relevant pixel or region
  3. 3.Threshold, rank, refine, or combine the responses
  4. 4.Return the feature set, mask, filtered image, or restored image

Canonical Example

Input
image = small grayscale patch
Output
response map, mask, or transformed image
Explanation
Retinex Algorithm evaluates local image evidence and returns the pixels, regions, or features selected by the method.

Implementation Notes

  • Define border handling and coordinate conventions before tuning thresholds.
  • Test on a tiny synthetic image where the expected response is obvious.

Common Pitfalls

  • Using fixed thresholds across changing lighting conditions makes output brittle.
  • Ignoring border handling changes results near image edges.

Interactive Mechanism Walkthrough

Spatial Primitive & Sweep-Line Canvas

Show the input image beside the response map, mask, or transformed output.

Retinex Algorithm mechanism walkthrough step 1 of 4
Step 1 of 4: Prepare the image and method parameters
image-processing

Notes

Retinex Algorithm operates in O(p k) time and O(p) space within the Image Processing family. Key governing relation: R = log(image) - log(blur(image)). Often compared with Gaussian Blur and Thresholding.

Sources (2)

What each reference supports for this entry.

Digital Image Processing

Book

Image-processing textbook support for Retinex-style illumination correction and color constancy.

Lightness and Retinex Theory

Paper

Original Retinex reference for lightness, reflectance estimation, and color constancy.

Open source

Explore Next

Good next jumps from the relationship graph, ranked for useful discovery.

Alternative toGaussian Blur

Retinex Algorithm extracts or transforms image evidence differently than Gaussian Blur.

Tags

Image Processing