An image region is a set of pixels that share useful features. A region can be represented by a mask or by its boundary, and different regions receive different labels.
Main idea
A region groups pixels by what they share. The useful feature can be intensity, colour, texture, or semantic meaning.
Region Features
| Feature | What it describes | Example use |
|---|---|---|
| Intensity | Pixel brightness | Separate dark text from light paper |
| Colour | Colour values or channels | Separate road, vegetation, and sky |
| Texture | Repeated local patterns | Distinguish stripes from smooth surfaces |
| Semantics | Meaning learned from labelled data | Label road, car, person, and sky |
Region processing supports document separation, road-scene segmentation, medical-image segmentation, and object-mask extraction.
Region Mean and Variance
For a region with pixels, the mean intensity is:
The region variance is:
| Quantity | Meaning |
|---|---|
| Average brightness in the region | |
| Amount of pixel-value variation in the region | |
| Number of pixels in the region |
Worked Region Example
Consider this 16-pixel region:
The sum of all values is , so:
Using this mean:
These two numbers summarize brightness and spread, but they do not show where each value occurs.
Limitation of Mean and Variance
Two regions can have similar mean intensity while their spatial patterns are very different. Variance measures value spread, but it does not preserve where those values occur.
| Pattern | Spatial property |
|---|---|
| Checkerboard | Alternating high-contrast structure |
| Fine noise | Random local changes |
| Stripes | Repeated structure with a main orientation |
| Smooth patch | Low local variation |
Mean and variance describe value statistics. Texture describes the repeated spatial arrangement of those values.
Filter Banks and Gabor Features
A Gabor filter bank contains filters with different orientations and scales.
flowchart LR P["Image patch"] --> G["Gabor filter bank<br/>several scales and orientations"] G --> R["Filter responses<br/>r1, r2, r3, ..."] R --> F["Feature vector"] F --> C["Cluster or classify pixels"]
The feature vector is:
Each response measures how strongly the local image matches one filter. Pixels can then be grouped or classified in this feature space. See Image Filtering for the filtering process and Colour Representation for colour-based features.
Classical and Semantic Segmentation
| Classical segmentation | Semantic segmentation |
|---|---|
| Uses intensity, colour, or texture | Learns features from labelled data |
| Groups visually similar pixels | Assigns meaning-aware category labels |
| Does not require an object category | Predicts categories such as road, car, person, or sky |
| Includes thresholding, [[Otsu Thresholding | Otsu]], and k-means |
Both approaches assign pixels to regions. Their difference is whether the output represents visual similarity or learned meaning.