Digital Image Processing
Cyfrowe Przetwarzanie
Obrazów
Wykład
4:
Pzetwarzanie histogramy obrazu
Profesor
Valery Starovoitov
2
Maskowanie binarne
obrazów
3
Maskowanie ciągłe obrazów
4
2) Histogram obrazu
• Histogram
przedstawia rozkład (w formie graficznej lub
tablicy) częstości występowania w obrazie cyfrowym
poszczególnych poziomów jasności. Niech J0, J1,.., JL-1
oznaczają możliwe wartości jasności pikseli obrazu, gdzie
L oznacza liczbę dostępnych poziomów intensywności.
Wówczas rzędne histogramu h(J0), h(J1), ..., h(JL-1)
przedstawiają udział w obrazie pikseli o kolejnych stopniach
jasności, tzn.
•
h(Ji) = ni, i = 0,1,2,... L-1
(2.11)
• gdzie ni – liczba pikseli o jasności Ji.
• Obliczanie składowych histogramu odbywa się według wzoru:
•
, i = 0,1,...,L-1
• gdzie:
M – rozmiar obrazu w kierunku x,
•
N – rozmiar obrazu w kierunku y,
.
0
)
,
(
gdy
1
)
,
(
razie
przeciwnym
w
i
y
x
J
y
x
g
i
1
0
1
0
)
,
(
M
x
N
y
i
i
y
x
g
n
5
0 50 100 150 200 255
16
6
5
4
3
2
J
i
h(J
i
)
255
200
150
100
50
0
0
255
200
150
100
50
0
0
255
200
150
100
0
0
0
255
200
150
0
0
0
0
255
200
0
0
0
0
0
255
Przykładowy obraz
Histogram ilościowy obrazu
W praktyce często stosuje się opis procentowy rozkładu
poziomów jasności. Wtedy rzędne histogramu obliczamy ze
wzoru:
h(Ji) = ni / n,
(2.12)
gdzie: ni – liczba pikseli o intensywności Ji,
n – liczba wszystkich pikseli obrazu.
6
Przykłady
Przykłady
histogramów
obrazów o
różnej jakości
Ciemny obraz
Jasny obraz
Obraz o niskim
kontraście
Obraz o wysokim
kontraście
J
i
h(J
i
)
J
i
h(J
i
)
J
i
h(J
i
)
J
i
h(J
i
)
7
• Analizując histogram można uzyskać wiele użytecznych
informacji na temat rozważanego obrazu. Na przykład można
zauważyć, że h(Ji) może być zerowa dla pewnych wartości i.
Może to wystąpić w obrazach, w których niektóre poziomy
szarości usunięto, albo kiedy dynamika obrazu jest mała i
zakres dostępnych szarości nie jest poprawnie wykorzystany.
Objawia się to tym, że składowe histogramu mogą być
skupione na początku, pośrodku lub na końcu osi szarości.
Na ogół taka sytuacja jest nieprawidłowa i można temu
zaradzić dokonując odpowiedniej transformacji zakresu
jasności lub modyfikacji histogramu.
• Metody modyfikowania histogramu należą raczej do prostych
procedur korekcji obrazu. Stosowane są w przypadkach
wymagających zwiększenia kontrastu, przyciemnienia
obrazów prześwietlonych lub rozjaśnienia obrazów
niedoświetlonych. Modyfikacja histogramu prowadzi do
zmiany kształtu jego obwiedni. Pewne metody modyfikacji
zostaną omówione poniżej.
8
9
Obliczanie histogramu
(scilab)
10
11
Histogram transformation
Point operation
T(r
k
) =s
k
r
k
T
s
k
Properties of T:
keeps the original range of grey values
monoton increasing
grey values:
12
Operacja poprawy
histogramu
13
Wyrównywanie histogramu
• Operacja wyrównywania histogramu nazywana
jest czasem linearyzacją albo spłaszczaniem
histogramu. Operacja ta polega na transformacji
funkcji h(Ji) w taki sposób, aby jej nowe rzędne
były maksymalnie wyrównane.
14
Wyrównywanie histogramu
• Załóżmy, że poziomy jasności należą do przedziału [0,1].
Niech r reprezentuje poziom jasności piksela w obrazie
oraz niech r=0 oznacza piksel czarny, zaś r=1 – piksel
biały. Dla jasności przyjmującej wartości dyskretne
rzędne histogramu obliczamy według wzoru
n
n
r
p
k
k
r
)
(
)
(
)
(
0
r
p
r
T
s
j
k
j
r
k
k
0 rk 1, k = 0,1, ...,L-1, (2.13)
gdzie: nk – liczba pikseli danej jasności, rk – poziom jasności,
n – całkowita liczba pikseli w obrazie.
Procedura wyrównywania histogramu opisana jest transformacją
sk=sk(max-min)+min,
W wyniku transformacji (2.14) każdy piksel mający w oryginalnym obrazie
jasność rk uzyska nową wartość sk. Nowy histogram p(sj), j=0,1,2,...L-1 jest
bardziej wyrównany niż histogram obrazu źródłowego i lepiej wykorzystuje
pełny zakres poziomów szarości.
k = 0,1, ..., L-1 (2.14)
15
Wyrównywanie histogramu
16
17
18
Przykład
• Niech obraz cyfrowy ma wymiary
6464 (n = 4096) pikseli [6].
Zakładamy, że funkcja
intensywności może przyjmować
L=8 poziomów jasności oraz
histogram badanego obrazu
opisany jest za pomocą tablicy 2.1.
• Przeprowadźmy operację
wyrównywania histogramu.
Wykres histogramu obrazu
oryginalnego pokazano na
rys. 2.7a, funkcję transformacji
pokazano na rys. 2.7b,
a odpowiednie nowe poziomy
jasności zamieszczone są w tablicy
r
k
n
k
p
r
(r
k
) = n
k
/n
r
0
= 0
790
0,19
r
1
= 1/7
1023
0,25
r
2
= 2/7
850
0,21
r
3
= 3/7
656
0,16
r
4
= 4/7
329
0,08
r
5
= 5/7
245
0,06
r
6
= 6/7
122
0,03
r
7
= 1
81
0,02
r
k
a)
0,05
0,10
0,15
0,20
0,25
0
1/7
3/7
5/7
1
r
k
b)
0,2
0,4
0,6
0,8
1,0
0
1/7
3/7
5/7
1
s
k
h(J
i
)
T(r
k
)
histograma
funkcji transformacji T(rk)
19
Nowy histogram
s
k
0,05
0,10
0,15
0,20
0,25
0
1/7
3/7
5/7
1
p
s
(s
k
)
Histogram po
operacji
wyrównywania
20
Histogram Equalisation, Matlab
21
Przykładowy obraz i jego
histogram
Obraz i jego histogram po operacji wyrównywania
histogramu
22
Histogram specification (HS)
an image's histogram is transformed
according to a desired function
Transforming the intensity values so
that the histogram of the output
image approximately matches a
specified histogram.
23
Histogram specification II
S
T
S
-1
*
T
histogram
1
histogram
2
?
24
Zmiana wartości piksela
Look-up Table (LUT)
25
Histogram obrazów
kolorowych
26
Wyrównanie histogramu
obrazu kolorowego