What is texture?
Strictly random texture
Texture is a region that can – in
some sense – be perceived as
being spatially homogeneous.
Strictly deterministic textures
Real-world textures
Semi-stochastic
More textures
Semi-deterministic
Texture perception
Texture analysis
Food industry
• Extraction of textural features for
regression or classification
• Texture segmentation
• Texture modelling
• Texture synthesis
• Meat
• Cheese
• ...
Materials
Medical applications
Normal mouse
liver cell
Cancer mouse
liver cell
Source: Norwegian Radium Hospital, Oslo
Basic properties
•
•
•
•
•
•
•
Translation invariance
Rotation invariance
Scale invariance
Warp invariance
Discrete/continuous
Relabelling/grayscale invariance
Shading invariance
Preprocessing or
What do we want to characterize?
•
•
•
•
Masking
Graylevel transformations
Texture equalization
Scale space representation
Masking
Graylevel transformations
• Linear
• Non-linear
• Histogram matching
– Histogram equalization
– Gaussian histogram match
– Beta histogram match
Texture equalization
Scale space representation
First-order statistics
• Mean
•Variance
•Coefficient of variation
•Skewness
•Kurtosis
µ=
1
N
First-order statistics
N −1
∑x
i =0
µ = ∑i⋅ Hi
•Variance
σ = ∑ (i − µ )2 ⋅ H i
•Coefficient of variation
σ
cv =
µ
1
γ1 = 3
σ
i
1 N −1
σ =
∑ (xi − µ )
N − 1 i= 0
σ
cv =
µ
3
N −1
1
γ1 =
(
x
−
µ
)
∑
(N − 1)σ 3 i =0 i
3
N −1
1
γ2 =
(x − µ ) − 3
4 ∑ i
(N − 1)σ i=0
2
2
G −1
• Mean
2
i= 0
G−1
i= 0
•Skewness
•Kurtosis
γ2 =
G −1
3
∑ (i − µ ) ⋅ H
i= 0
N −1
3
i
1
∑ (i − µ ) ⋅ Hi − 3
σ 4 i= 0
Example: first-order statistics
Histograms
Uniformity measures
Given a discrete distribution with probabilities
Mean
167.9
Variance
669.0
CV
0.15
Skewness
-0.82
Curtosis
0.01
Mean
105.1
Variance
720
CV
0.26
Skewness
1.15
Curtosis
0.30
Uniformity measures
{ pi }
• Energy (non-uniformity)
e = ∑ pi2
i
•Entropy (uniformity)
s = −∑ p i log pi
i
p1
p2
p3
p4
Energy
Entropy
0.50
0.50 0.00 0.00
0.50 (1)
0.69 (2)
0.76
0.48
0.08 0.08 0.08
0.48 0.02 0.02
0.60 (2)
0.46 (1)
0.81 (1)
0.86 (1)
Bias ?
First-order statistics in scale-space
Second-order statistics
•
•
•
•
•
Cooccurrence matrices (GLCM)
Fourier power spectrum features
Auto-correlation
Laws’ filters
Eigen-filters
Cooccurrence matrices (GLCM)
Cooccurrence matrices (GLCM)
Normalized GLCM
2
1
4
4
2
1
0
4
0
0
0
2
4
0
2
h = (0,1)
0
3
3
0
3
2
4
2
1
4
GLCM
{c
ij
0
1
2
3
4
0 1 2 3 4
3
2
1
0
1
1
0
1
0
0
3
0
0
1
0
0
0
2
0
1
| i , j ∈ 0,..,G − 1}
0
0
0
2
2
C(h) = c(h ) / N h
Symmetric GLCM
C s (h ) =
(
)
1
(C(h ) + C(− h)) = 1 C(h ) + CT (h )
2
2
Isotropic GLCM
C i (1) =
N h = 20
1
(C s (0,1)+ C s (1,0)+ C s (1,1) + C s (− 1,1))
4
GLCM
GLCM after Gaussian match
GLCM after histogram equalization
GLCM features
G −1 G −1
• Energy
∑∑ C
i= 0 j= 0
G −1 G −1
• Entropy
• Maximum probability
• Correlation
2
ij
− ∑∑ C ij log Cij
i= 0 j= 0
maxCij
G −1 G −1
(i − µ x )( j − µ y )C ij
i= 0 j= 0
σ xσ y
∑∑
Diagonal correlation
Correlation
G −1 G −1
(i − µ x )( j − µ y )Cij
i= 0 j= 0
σ xσ y
ρ = ∑∑
| i − j − µ x + µ y | (i + j − µ x − µ y )C ij
G−1 G −1
ρ diag = ∑∑
σ 2x + σ 2y − 2ρσ xσ y σ x2 + σ 2y + 2 ρσxσ y
i= 0 j= 0
50
50
100
100
150
150
200
200
250
250
50
100
150
200
250
Diagonal correlation
50
100
150
200
250
Sum correlation
G −1 G −1
(i − µ x )( j − µ y )(i + j − µ x − µ y )2 C ij
i =0 j =0
σ xσ y σ 2x + σ 2y + 2 ρσ xσ y
ρs = ∑ ∑
50
100
150
200
Brodatz D69
ρ diag = −0 .17
Brodatz D91
ρ diag = 0 .25
250
After Gaussian histogram match
Sum correlation
50
After Gaussian histogram match
150
200
250
Difference correlation
G −1 G −1
(i − µ x )( j − µ y )(i − j − µ x + µ y )2 Cij
i= 0 j= 0
σ xσ y σ 2x + σ 2y − 2 ρσ xσ y
ρd = ∑ ∑
ρ s = −0.18
100
50
100
150
200
Brodatz D106
250
50
100
150
200
250
Difference correlation
Graylevel difference histogram
(GLDH)
GLCM
0
1
2
3
4
GLDH
Brodatz D77
ρ d = −0 . 78
ρ d = 0 . 13
0
3
2
1
0
1
1
1
0
1
0
0
2
3
0
0
1
0
3
0
0
2
0
1
0 1 2
5 10 4
N h = 20
4
0
0
0
2
2
3
0
4
1
N h = 20
After Gaussian histogram match
GLDH features
G−1
∑D
• Difference energy
2
k
GLCM
k =0
G− 1
− ∑ Dk log Dk
• Difference entropy
k =0
G −1
∑k
• Inertia or variogram
2
k =0
G −1
Dk = 2σ 2 (1 − ρ )
∑ 1+ k
• Inverse difference moment
Dk
k =0
Graylevel sum histogram (GLSH)
2
0
1
2
3
4
GLSH
0
3
2
1
0
1
0
3
1
1
0
1
0
0
2
3
0
0
1
0
1
3
2
4
Exercise
0
1
2
What is the difference energy?
0
1
0
2
N h = 20
4
0
0
0
2
2
3
1
4
1
5 6
3 0
7
3
8
2
N h = 20
Solution
In the normalized GLCM we have to divide by 9. Then we
can compute the graylevel difference histogram.
Consider the cooccurrence matrix
GLCM
3
0
0
2
0
1
1
0
2
1
2
1
1
1
GLDH
0
1
2
4/9 2/9 3/9
The difference energy, DE, can then be found as
2
2
2
29
4 2 3
DE = + + =
= 0.358
9
9
9
81
Higher-order statistics
GLRLM
• Graylevel run-length matrices (GLRLM)
• Neighboring graylevel dependence matrices
(NGLDM)
2
1
4
4
2
1
0
4
0
0
0
2
4
0
2
0
3
3
0
3
2
4
2
1
4
Horizontal direction
NGLDM
2
1
4
4
2
1
0
4
0
0
0
2
2
0
2
a =1
d= 2
0
3
3
1
3
2
4
2
2
4
NGLDM
0
1
2
3
4
Nd = 9
0
0
0
0
0
0
1
0
0
0
0
1
2
1
0
0
0
0
3
2
0
0
0
0
4
0
0
2
0
0
5
0
1
0
0
0
6
0
0
0
2
0
7
0
0
0
0
0
8
0
0
0
0
0
GLRLM
0
1
2
3
4
N r = 20
1
2
3
6
3
3
2
1
0
0
0
0
3
1
0
0
0
1
4
0
0
0
0
0
© Copyright 2026 Paperzz