PO002 histogram


Przetwarzanie obrazów
Przetwarzanie
obrazów
 histogram obrazu
[ dr inż Paweł Forczmanski ]
Instytut Grafiki Komputerowej i Multimediów
Wydział Informatyki Politechniki Szczecińskiej
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
( PRZETWARZANIA WSTPNEGO )
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Proces przetwarzania obrazów
Konwersja obrazu
Obraz Obróbka Wydzielenie cech
do postaci czytelnej
Cechy
z obrazu
f(x,y) obrazu
dla komputera
Konwersja obrazu
do postaci wyjściowej
Obraz
wyjściowy
HISTOGRAM
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Histogram
Najprostszym histogramem jest tzw. histogram jednowymiarowy.
Można go określić jako częstość występowania poszczególnych
wartości lub zakresów wartości jasności pikseli w obrazie.
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Histogram w ujęciu statystycznym
W pojęciu statystycznym histogram jest funkcją gęstości
prawdopodobieństwa H(b). Pole histogramu (histogram zbiorczy):
b
H śąbźą db
+"
0
gdzie:
H(b) - funkcja histogramu,
db - przyrost wartości,
H(b)db - wysokość kolejnego słupka histogramu.
Dla obrazów cyfrowych (db jest skończone) histogram jest
wyznaczany jako suma wszystkich pikseli o danej wartości
znormalizowana przez liczbę wszystkich pikseli.
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Histogram
Algorytm obliczania histogramu składa się z następujących etapów:
"'
Ustalenie zakresu jasności lub przyjęcie domyślnego dla danej
liczby bitów na piksel;
"'
Określenie liczby przedziałów;
"'
Wyznaczenie szerokości przedziałów poprzez podzielnie
zakresu przez ich liczbę;
"'
Obliczenie liczby pikseli o wartościach jasności należących do
poszczególnych przedziałów.
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Histogram
Obraz Histogram
7
1 4 1 3
6
5
5 6 2 6
4
3
4 4 1 3
2
1
4 1 5 4
0
<1;2> (2;4> (4;6>
<1;2> 5
1 1 2 1 1
(2;4> 4 3 4 4 3 4 4 7
(4;6> 4
5 6 6 5
Częstość wystąpień
Przedziały
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Histogram
przykłady histogramów dla szumów i obrazów
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Histogram  cechy
Średnia Dyspersja
2
L-1
L-1
p p
ąb2= p- b- x H śąbźą
x= p- bH śąbźą
"
"
śą źą
śą źą
[ ]
2b
2b
b=0
b=0
L-1
3 L-1
L-1
2
1 p
bN= [ H śąbźą]
bS= p- -x H śąbźą " bE=- H śąbźąlog2 H śąbźą
[ ]
" "
śą źą
[ ]
2b
ąb3
b=0 b=0
b=0
Asymetria Energia Entropia
Gdzie:
H  histogram;
p  szerokość przedziału;
L  liczba przedziałów.
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Operacje na histogramie
Rozciągnięcie histogramu wzdłuż
f(x)
zadanej krzywej zmienia rozkład
jasności pikseli poprzez zmianę ich
przyporządkowania do przedziałów
histogramu. Przekłada to się na
zmianę szerokości przedziałów
histogramu:
d e= f ' śąbźąd b
x
H(b)
gdzie
b  jasność piksela przed
rozciągnięciem histogramu;
e  jasność piksela po
100
rozciągnięcu histogramu;
f(b)  funkcja rozciągnięcia
histogramu.
50
Tangens kąta nachylenia stycznej
0
funkcji f(b) jest współczynnikiem
180 200 220 240
b
zmiany szerokości przedziału.
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
e
180
200
220
240
0
50
H
(
e
)
100
a
n
cz
y
t
s
Przetwarzanie obrazów
Operacje na histogramie
Całkując poprzedni wzór otrzymamy:
e= f ' śąbźąd b
+"
Nowe wartości jasności pikseli możemy obliczyć
ow= f ' [o]d o
+"
gdzie
o  wartość jasności piksela;
ow  wartość jasności piksela po rozciągnięciu histogramu;
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Operacje na histogramie
Najprostszą funkcją rozciągnięcia histogramu jest liniowa funkcja:
0 dla x"ą0
f śą xźą=
ax
{
E dla xąE
przy czym a może mieć wartość:
E
x-x1
a=
lub f śą xźą=E
x2- x1
śą źą
x2
gdzie
x1, x2  wartości ograniczające histogram od  dołu i  góry .
E  maksymalna dopuszczalna wartość jasności.
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Operacje na histogramie - rozciąganie
f(x)
x1 x2 x
H(b)
3000
2000
1000
0
50 100 150 200
b
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
e
50
100
150
200
0
H
(
e
)
3000
2000
1000
Przetwarzanie obrazów
Nieliniowe operacje na histogramie
Informatyka Studia Zawodowe Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia Zawodowe Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Nieliniowe operacje na histogramie (2)
obraz zródłowy
!histogram zródłowy
Informatyka Studia Zawodowe Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia Zawodowe Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Wyrównanie histogramu
Wyrównanie histogramu ma na celu doprowadzenie do
równomiernego rozłożenia wartości jasności w jego
przedziałach.
W rezultacie wszystkie słupki histogramu po wyrównaniu
mają wysokość równą* wartości średniej jasności pikseli.
(*) w przypadku histogramu będącego funkcją ciągłą
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Wyrównanie histogramu - alg.1
Jasność piksela po wyrównaniu histogramu można obliczyć na
podstawie wzoru:
oH bśąoźą
[ ]
ow=
H
H(e)
H(b)
3
3
średnia
średnia
2
2
1
1
0
0
0 2 4 6 8
0 2 4 6 8
e
b
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Wyrównanie histogramu  przykład obliczeniowy
Dany jest obraz o wymiarach 64 x 64 piksele przyjmujących jeden
z ośmiu stopni jasności: K=8, n=64*64= 4096
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Wyrównanie histogramu - alg.2
Jasność piksela po wyrównaniu histogramu można obliczyć na
podstawie następującego algorytmu:
(1) Oblicz średnią wartość histogramu Hsred,
(2) Dla każdego niepustego przedziału histogramu H(i):
(3) Dopóki H(i)< Hsred
p.1 k=i,
p.2 H(i) = H(i) + H(k) ,
p.3 H(k) = 0,
p.4 k=k+1, jeśli (3) jest spełnione, idz do p.2
p.5 w p.p. i=k, idz do p. (3)
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Wyrównanie histogramu - przykład
Informatyka Studia Zawodowe Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia Zawodowe Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Histogram jednowymiarowy a dwuwymiarowy
Histogram jednowymiarowy jest określony za pomocą funkcji f :
f : X Y Śą Z
-1
f : Z Śą 2 X Y
-1
f : {śą x , yźą#"f śą x , yźą=z }
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Histogram jednowymiarowy a dwuwymiarowy
Natomiast histogram dwuwymiarowy zdefiniowany jest poprzez
parę funkcji f i g :
f : X Y Śą Z
g : X Y Śą V
-1
f : Z Śą 2 X Y
g-1 : V Śą 2 X Y
-1
f : {śą x , yźą#"f śą x , yźą=z }
g-1 : {śą x , yźą#"g śą x , yźą=v}
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Macierz współwystępowania (1)
Przykładem zastosowania histogramu dwuwymiarowego jest
obliczanie macierzy współwystępowania (coocurrence matrix)
0 0 0 0 1 3 2 0
0 1 1 1 2 0 1 0
M = ; M = ;
1 2
0 1 2 2 1 0 2 0
[ ] [ ]
0 1 2 3 0 0 1 1
z=[0 1 2 3 ] ; z=[0 1 2 3 ];
H1śązźą=[7 5 3 1] ; H śązźą=[7 5 3 1];
2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Macierz współwystępowania (2)
Macierz współwystępowania zakłada sprawdzanie warunku / relacji
pomiędzy funkcjami f i g (czyli de facto pikselami), np:
r={śąśą x , yźą ,śąx , yą1źąźą };
Cr=H śą z , vźą;
fg
f śąx , yźą= g śą x , yą1źą;
1 2 1 0
3 3 0 0
2 1 0 1
0 2 2 0
Cr = ;
Cr = ;
2
1
3 0 0 0
0 0 1 1
[ ]
[ ]
0 0 1 0
0 0 0 0
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Macierz współwystępowania (3)
Przykładem zastosowania histogramu dwuwymiarowego jest
obliczanie macierzy współwystępowania (coocurrence matrix)
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Przetwarzanie obrazów
Macierz współwystępowania (4)
Przykładem zastosowania histogramu dwuwymiarowego jest
obliczanie macierzy współwystępowania (coocurrence matrix)
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2
Informatyka Studia I-go Stopnia Dzienne - - - czwartek 6 grudzień 2007 - - - Wykład #2


Wyszukiwarka

Podobne podstrony:
Histogram basedsegmentationofquantumimages
Histogram Przemysław Oziemblewski
HistogramDialog
Wyrownanie histogramu
Operacje na histogramie
Chapter08 ?ta length histogram
histogram
Histogram jak z niego korzystać
Histogram dla 10 pom
wykres histogram dane2
HistogramDialog
Przyklad histogramy

więcej podobnych podstron