Edges and regions turn raw pixels into structures that can support measurement, recognition, and segmentation.

Main idea

Edges describe where image values change. Regions describe which pixels belong together.


How the Concepts Connect

The problem nodes show why the next concept is needed. The labelled arrow states the solution or relationship.

flowchart LR

S["Edge and Region<br/>Processing"]

subgraph E["Edge concepts"]
    G["Image Gradient<br/>Prewitt and Sobel"]
    GP["Problem:<br/>noise, thick responses,<br/>weak or broken edges"]
    L["Laplacian of Gaussian<br/>LoG"]
    C["Canny Edge<br/>Detector"]
    ED["Local edge pixels<br/>edgels"]
    EP["Problem:<br/>local edgels do not show<br/>one global line"]
    H["Hough Transform"]
    GL["Global line"]

    G -->|"reveals local<br/>intensity change"| GP
    GP -->|"Solution for noise and edge location:<br/>smooth, then find zero crossings"| L
    GP -->|"Solution for all three problems:<br/>smooth, thin, and link"| C
    L -->|"detects"| ED
    C -->|"produces thin and<br/>connected"| ED
    ED --> EP
    EP -->|"Solution: collinear edgels<br/>vote for one line"| H
    H -->|"returns"| GL
end

subgraph R["Region concepts"]
    RF["Image Regions and<br/>Region Features"]
    IV["Intensity feature"]
    ST["Simple Thresholding"]
    TP["Problem:<br/>the threshold must<br/>be selected"]
    O["Otsu Thresholding"]
    BM["Binary mask"]
    BP["Problem:<br/>small holes, gaps,<br/>or foreground speckles"]
    M["Morphological<br/>Operations"]
    CM["Cleaned region mask"]
    MV["Mean and variance"]
    MP["Problem:<br/>spatial pattern is lost"]
    T["Texture"]
    GB["Gabor filter bank"]
    F["Feature vector"]

    RF -->|"can use"| IV
    IV -->|"supplies one scalar<br/>feature to"| ST
    ST -->|"depends on"| TP
    TP -->|"Solution: choose the threshold that best<br/>separates two intensity classes"| O
    O -->|"creates"| BM
    BM --> BP
    BP -->|"Solution: repair mask geometry with<br/>dilation, erosion, opening, or closing"| M
    M -->|"creates"| CM

    RF -->|"describes brightness<br/>and spread with"| MV
    MV --> MP
    MP -->|"Solution: describe repeated<br/>spatial patterns with"| T
    T -->|"extract orientation and<br/>scale responses with"| GB
    GB -->|"creates"| F
end

S -->|"Where do image<br/>values change?"| G
S -->|"Which pixels<br/>belong together?"| RF

ED -->|"boundary representation"| U["Useful structures for<br/>measurement, recognition,<br/>and segmentation"]
GL -->|"global geometric structure"| U
CM -->|"pixel-membership representation"| U
F -->|"supports clustering<br/>or classification"| U

Edge Branch

The edge branch starts with local intensity change and builds larger boundary structures:

  1. Estimate local change with Prewitt, Sobel, or another derivative filter
  2. Detect edgels by thresholding the response
  3. Thin and link edgels with methods such as Canny
  4. Find global shapes with methods such as the Hough Transform

Laplacian of Gaussian (LoG) uses smoothing and a second-order derivative to place an edge at a zero crossing.


Region Branch

The region branch groups pixels that share useful features:

  • Intensity for brightness-based grouping
  • Colour for separating surfaces with different colour values
  • Texture for repeated local patterns
  • Semantics for meaning-aware labels such as road, car, person, and sky

Otsu Thresholding separates two intensity classes and produces a binary mask. Morphological operations can then repair the mask through dilation, erosion, opening, or closing.


Which Structure Is Useful?

Required resultUseful structure or method
Find rapid local intensity changeImage gradient
Obtain thin, connected boundariesCanny edge detector
Convert many local edge pixels into a straight lineHough transform
Describe a group by brightness or variationRegion mean and variance
Describe repeated local patternsTexture and Gabor features
Split an image into two intensity classes automaticallyOtsu thresholding
Assign a meaning to every pixelSemantic segmentation