1 Niniejszy dokument zawiera materiały do wykładu z przedmiotu Cyfrowe Przetwarzanie Obrazów i Sygnałów. Jest on udostępniony pod warunkiem wykorzystania wyłącznie do własnych, prywatnych potrzeb i może być kopiowany wyłącznie w całości, razem ze stroną tytułową. Cyfrowe przetwarzanie obrazów i sygnałów Wykład 3 AiR III Joanna Ratajczak KCiR (W4/K7) Copyright c 2015 Joanna Ratajczak 1
Histogram obrazu cyfrowego jest wykresem przedstawiającym ilość punktów o danej jasności (barwie) w obrazie. Stanowi on globalną charakterystykę obrazu. J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 1 / 40
Histogram H(k) = card{(x, y): f(x, y) = k} dla k = 0,..., L 1 L 1 H(k) = WH k=0 Histogram znormalizowany Ogólnie H n (k) = 1 WH H(k) f : X Y Z f 1 (z) = {(x, y): f(x, y) = z} H(z) = χ f 1 (z)dxdy J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 2 / 40
Histogram 8 poziomów jasności 0 1 2 3 4 5 6 7 z poziom 0 poziom 1 poziom 2 poziom 3 poziom 4 poziom 5 poziom 6 poziom 7 J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 3 / 40
Histogram Przekształcenia punktowe Operacje arytmetyczne Operacje na histogramie Histogram dwuwymiarowy Histogram i histogram kumulacyjny 256 poziomów jasności J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 4 / 40
0 1 z J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 5 / 40
0 1 z J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 5 / 40
0 1 z J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 5 / 40
0 1 z J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 5 / 40
0 1 z J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 5 / 40
Histogram Przekształcenia punktowe Operacje arytmetyczne Operacje na histogramie Histogram dwuwymiarowy Przykłady Zdjęcie niedoświetlone J. Ratajczak Zdjęcie poprawne Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 6 / 40
Histogram Przekształcenia punktowe Operacje arytmetyczne Operacje na histogramie Histogram dwuwymiarowy Przykłady Zdjęcie prześwietlone J. Ratajczak Zdjęcie poprawne Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 6 / 40
Typy transformacji obrazów Φ P y x y x f g Transformacja punktowa J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 7 / 40
Typy transformacji obrazów Φ L y x y x f g Transformacja lokalna J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 7 / 40
Typy transformacji obrazów Φ G y x y x f g Transformacja globalna J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 7 / 40
Przekształcenia punktowe Operacje na pojedynczych pikselach obrazu. Poszczególne elementy obrazu są modyfikowane niezależnie od stanu elementów sąsiadujących. Relacje geometryczne pozostają bez zmian. Operacje te mają na celu uwidocznienie pewnych treści zawartych w obrazie (nie wprowadzają nowych informacji do obrazu). Wszystkie piksele o jednakowej jasności są traktowane identycznie. Cele: poprawa kontrastu, jasności, utworzenie negatywu, zmiana palety barw,... J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 8 / 40
Transformacje punktowe obrazów g(x, y) = T(f(x, y)) v = T(z) v 255 Normalizacja dziedziny i przeciwdziedziny 0 z 1, v = T(z) 0 255 z v 1 0 T(z) 1, z = T 1 (v) 0 1 z J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 9 / 40
Tablica LUT (Look-up Table) tablica określająca wartość piksela po operacji zaoszczędzenie czasu potrzebnego na obliczeń przydatna przy powtarzalnych obliczeniach LUT operacji tożsamościowej z v=t(z) 0 0 1 1 2 2.. 254 254 255 255 graficzna reprezentacja LUT v 255 0 255 z J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 10 / 40
Transformacje punktowe obrazów H n (z) histogram obrazu oryginalnego G n (v) histogram obrazu po transformacji T Przykład T (negatyw): [ G n (v) = H n (z) dz ] dv T(z) = 1 z z=t 1 (v) J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 11 / 40
Negatyw obrazu v 1 v 1 G n 1 z H n 1 z J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 12 / 40
Histogram Przekształcenia punktowe Operacje arytmetyczne Operacje na histogramie Histogram dwuwymiarowy Negatyw obrazu 255 191 127 63 0 0 63 127 191 255 J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 12 / 40
Progowanie g(x, y) = { 1, f(x,y)>p 0, f(x,y) p 255 191 127 63 0 0 63 127 191 255 J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 13 / 40
Histogram Przekształcenia punktowe Operacje arytmetyczne Operacje na histogramie Histogram dwuwymiarowy Zwiekszenie kontrastu (normalizacja) 255 191 127 63 0 0 63 127 191 255 J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 14 / 40
Histogram Przekształcenia punktowe Operacje arytmetyczne Operacje na histogramie Histogram dwuwymiarowy Zmniejszenie kontrastu 255 191 127 63 0 0 63 127 191 255 J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 15 / 40
Histogram Przekształcenia punktowe Operacje arytmetyczne Operacje na histogramie Histogram dwuwymiarowy Dowolna transformacja funkcja nieliniowa 255 191 127 63 0 0 63 127 191 255 J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 16 / 40
Histogram Przekształcenia punktowe Operacje arytmetyczne Operacje na histogramie Histogram dwuwymiarowy Dodawanie (odejmowanie) stałej g(x, y) = f (x, y) ± b b = 50 J. Ratajczak b = 50 Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 17 / 40
Histogram Przekształcenia punktowe Operacje arytmetyczne Operacje na histogramie Histogram dwuwymiarowy Dodawanie (odejmowanie) obrazów g(x, y) = f1 (x, y) ± f2 (x, y) J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 18 / 40
Histogram Przekształcenia punktowe Operacje arytmetyczne Operacje na histogramie Histogram dwuwymiarowy Dodawanie (odejmowanie) obrazów g(x, y) = f1 (x, y) ± f2 (x, y) J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 18 / 40
Histogram Przekształcenia punktowe Operacje arytmetyczne Operacje na histogramie Histogram dwuwymiarowy Dodawanie (odejmowanie) obrazów g(x, y) = f1 (x, y) ± f2 (x, y) J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 18 / 40
Mieszanie obrazów g(x, y) = α 1 f 1 (x, y) + α 2 f 2 (x, y) +... + α n f n (x, y), N i=1 α i = 1 J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 19 / 40
Mnożenie (dzielenie) przez stałą g(x, y) = af(x, y) a = 2 a = 1 3 J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 20 / 40
Potęgowanie g(x, y) = f γ (x, y) γ = 2 γ = 3 J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 21 / 40
Histogram Przekształcenia punktowe Operacje arytmetyczne Operacje na histogramie Histogram dwuwymiarowy Potegowanie Normalizacja g(x, y) = 255 oryginał J. Ratajczak f (x,y) γ fmax γ=2 Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 22 / 40
Pierwiastkowanie g(x, y) = f(x, y) J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 23 / 40
Histogram Przekształcenia punktowe Operacje arytmetyczne Operacje na histogramie Histogram dwuwymiarowy Pierwiastkowanie q Normalizacja g(x, y) = 255 J. Ratajczak f (x,y) fmax Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 24 / 40
Histogram Przekształcenia punktowe Operacje arytmetyczne Operacje na histogramie Histogram dwuwymiarowy Logarytmowanie g(x, y) = log(f (x, y) + 1) Normalizacja g(x, y) = 255 J. Ratajczak log(f (x,y)+1) log(fmax +1) Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 25 / 40
Problem z wartościami spoza zakresu Przekroczenie maksymalnej wartości Przeskalowanie obrazu wynikowego do oryginalnej skali. Ustawienie wartości przekraczających zakres na max. Efekt cykliczności wartość wynikowa modulo max. Problem z wartościami ujemnymi Wartość bezwzględna. Ustawienie wartości ujemnych na min. Wartość wynikowa modulo max. J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 26 / 40
Operacje na histogramie 1 Rozciąganie histogramu prowadzi do rozciągnięcia zakresu wartości składowych tak, aby histogram obejmował wszystkie wartości jasności. 2 Wyrównywanie histogramu ma na celu takie dobranie wartości, aby histogram był możliwie "płaski". mają na celu poprawę kontrastu obrazu zmieniają histogram Liczebnośc pikseli Liczebnośc pikseli 0 1 z 0 1 z J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 27 / 40
Rozciąganie histogramu (stretching) g(x, y) = 255 ( ) f(x, y) fmin f max f min v 1 v 1 T Gn l u 1 z Hn 1 z J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 28 / 40
Wyrównywanie histogramu (equalization) H n (z k ) = n k n, 0 z k 1, k = 0,..., L 1 L liczba poziomów kwantyzacji, n k liczba punktów o jasności z k, n liczba wszystkich punktów obrazu. v k = T(z k ) = k n j k n = H n (z j ) j=0 j=0 Zwiększa kontrast i lepiej wykorzystuje dostępny zakres poziomów jasności. J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 29 / 40
Wyrównywanie histogramu (equalization) v 1 v 1 T G n 1 z H n 1 z J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 30 / 40
Przykładowy wynik dyskretnego wyrównywania histogramu (Gonzales, Wintz) Obraz o ośmiu stopniach szarości i rozmiarze 64 64 K = 8, n = 4096 z k n k H(z k ) = n k n w k = k j=0 H(z k ) v k = w k 1 0 790 0.19 0.19 7 1 3 7 1023 0.25 0.44 7 2 5 7 850 0.21 0.65 7 3 6 7 656 0.16 0.81 7 4 6 7 329 0.08 0.89 7 5 7 245 0.06 0.95 1 6 7 122 0.03 0.98 1 1 81 0.02 1.00 1 J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 31 / 40
Wyniki operacji histogramowych J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 32 / 40
Histogram Przekształcenia punktowe Operacje arytmetyczne Operacje na histogramie Histogram dwuwymiarowy Wyniki operacji histogramowych J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 33 / 40
Rozciąganie vs. wyrównywanie Obie metody poprawiają kontrast. Wyrównywanie histogramu daje lepsze wyniki widać więcej szczegółów. Rozciąganie nie zmienia liczby poziomów jasności, tylko je rozsuwa. Wyrównanie rozszerza szczyty, kompensuje doliny. Rozciąganie jest operacją liniową, wyrównywanie operacją nieliniową. J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 34 / 40
Histogram dwuwymiarowy f : X Y Z k : X Y V f 1 (z) = {(x, y) f(x, y) = z} k 1 (v) = {(x, y) k(x, y) = v} H fk (z, v) = (χ f 1 (z) χ k 1 (v))dxdy Histogram dwuwymiarowy służy do badania statystycznych zależności między sąsiednimi pikselami. Mówi o tym jak wiele jest na obrazie punktów, które mają pierwszą charakterystykę równą z, a drugą równą v. J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 35 / 40
Macierz sąsiedztwa C r (z, v) = card { (x, y) (ξ, ψ) ( (x, y)r(ξ, ψ) f(x, y) = z f(ξ, ψ) = v )} r (X Y) (X Y) Przykład dla sąsiedztwa prawostronnego r = { ((x, y), (x + 1, y)) } C r (z, v) = H fk (z, v) k(x, y) = f(x + 1, y) J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 36 / 40
Przykład numeryczny z H(z) 0 1 2 3 0 0 0 0 0 0 0 1 1 1 1 1 0 1 2 2 2 2 0 1 2 3 3 3 z H(z) 0 1 2 3 1 3 2 0 0 0 2 0 1 0 1 1 1 0 2 0 2 2 0 0 1 1 3 3 J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 37 / 40
Przykład numeryczny z H(z) 0 1 2 3 0 0 0 0 0 7 0 3 3 0 0 0 1 1 1 1 5 1 0 2 2 0 0 1 2 2 2 3 2 0 0 1 1 0 1 2 3 3 1 3 0 0 0 0 z H(z) 0 1 2 3 1 3 2 0 0 7 0 1 2 1 0 2 0 1 0 1 5 1 2 1 0 1 1 0 2 0 2 3 2 3 0 0 0 0 0 1 1 3 1 3 0 0 1 0 J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 38 / 40
Macierz sąsiedztwa Duże wyrazy C r skupione w pobliżu przekątnej oznaczają, że w sąsiedztwie punktów o danej jasności są przeważnie punkty o jasnościach zbliżonych (obraz 1), co oznacza wolnozmienność jasności i małą ilość drobnych szczegółów. Oddalenie dużych wyrazów C r od przekątnej (obraz 2) wiąże się z występowaniem dużej ilości gwałtownych zmian jasności (krawędzi, drobnych szczegółów). J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 39 / 40
Ilustracja własności macierzy sąsiedztwa Obraz ostry Obraz nieostry J. Ratajczak Cyfrowe przetwarzanie obrazów i sygnałów wykład 3 40 / 40