March 15, 2013
Histogram Jeden z graficznych sposobów przedstawiania rozkładu cechy. Składa się z szeregu prostokatów umieszczonych na osi współrzędnych. Prostokaty te sa z jednej strony wyznaczone przez przedziały klasowe wartości cechy, natomiast ich wysokość jest określona przez liczebności (lub częstości) elementów wpadajacych do określonego przedziału klasowego.
Funkcja tworzaca histogram Inaczej jest to funkcja h(i): gdzie
Cechy histogramu 1 W praktyce oznacza to, że histogram zawiera informację na temat tego ile pikseli o danym poziomie jasności występuje na obrazie (w przypadku obrazu w odcieniach szarości) Często wykorzystuje się tzw. znormalizowana postać histogramu - wszystkie wartości h(i) sa dzielone przez ilość pikseli na obrazie. Otrzymana w ten sposób wielkość to gęstość prawdopodobieństwa wystapienia na obrazie pikseli o odcieniu i. Histogram można zdefiniować dla obrazów kolorowych. Otrzymujemy wtedy 3 histogramy po jednym dla danej składowej: R,G,B (lub HSV, YCrCb) lub histogram trójwymiarowy.
Cechy histogramu 2 Histogram jest bardzo użyteczny w przetwarzaniu obrazów. Wykorzystywany jest przy binaryzacji oraz do oceny jakości (dynamiki, kontrastu) obrazu. W idealnym przypadku wszystkie poziomy jasności w obrazie powinny być wykorzystane (i to najlepiej w miarę jednolicie), co oznacza, że histogram powinien rozciagać się od 0-255 (obraz w skali szarości). W przypadku gdy histogram obejmuje jedynie fragment dostępnego zakresu (waski histogram) lub histogram nie jest jednolity (występuja dominujace grupy pikseli) obraz ma dość słaby kontrast. Cechę tę można poprawić stosujac tzw. rozciaganie albo wyrównywanie histogramu (histogram equalization).
Przykład histogramu 3
Przykład histogramu 2
Przykład histogramu 3
Operacja poprawy histogramu maja za zadanie poprawić jakość kontrastu obrazu zmieniaja histogram
Rozciaganie histogramu rozciagnięcie histogramu piksele powinne używać wszystkich dostępnych poziomów intensywności
Wyrównanie histogramu wyrównanie (ang. equalization) histogramu wszystkie poziomy powinne być w przybliżeniu równoliczne czyli histogram powinien był płaski, bez gór i dolin
Histogram kumulacyjny
Rozciaganie histogramu Konwersja zakresu wartości składowych tak, aby histogram obejmował wszystkie wartości składowych. Np. < 4, 198 > < 0, 255 > LUT (i) = imax/(vmax vmin) (i vmin) gdzie imax - maksymalna możliwa wartość składowej w obrazie vmax - maksymalna wartość składowej w obrazie vmin - minimalna wartość składowej w obrazie
Przykład rozciagania histogramu
Wyrównanie histogramu Operacja polegajaca na zmianie położenia (wzdłuż poziomej osi odpowiadajacej stopniom szarości poszczególnych pikseli) kolejnych słupków, zawierajacych zliczenia liczby pikseli o danej szarości. Intuicyjnie mówiac równoważenie histogramu polega na zwiększaniu różnic jasności pomiędzy tymi pikselami w obrazie, które maja jasności często występujace. W efekcie operacja prowdzi do zwiększenia kontrastu obrazu.
Operacja wyrównywania Operacja realizowana jest przez funkcję transformujac a skonstruowana na podstawie histogramu skumulowanego gdzie rk jasność wejściowa, sk jasność wynikowa, nj liczba pikseli o poziomie jasności rk n całkowita liczba pikseli w obrazie
Przykład wyrównywania histogramu
Efekt wyrównywania dla obrazu sztucznego
Efekt wyrównywania dla obrazu naturalnego
Literatura Dokumentacja języka Python oraz modułów numpy, scipy, matplotlib, PIL. Tadeusiewicz R., Korohoda P.: Komputerowa analiza i przetwarzanie obrazów, Społeczeństwo Globalnej Informacji, Kraków 1997.