Geometria obrazu Wykad 5 1 Podzia obrazu c
Geometria obrazu Wykład 5 1. Podział obrazu c. d. Metoda progowa 2. Histogramy 3. Modele barw
Załóżmy, że mamy dany obraz w różnych odcieniach szarości. Segmentacja przez progowanie polega na określeniu pewnej wartości progowej T (w skali intensywności obrazu), względem której każdy element piksel obrazu jest przydzielany do jednej z dwóch kategorii – obiekt lub tło. Otrzymujemy funkcję W zależności od potrzeb obiekt (tło) odpowiadają punktom o wartości 1 lub 0. Aby operacja progowania miała sens, piksele obiektu muszą mieć inny zakres intensywności niż tło.
Progi możemy definiować na różne sposoby. Mówimy o progu globalnym, gdy wartość progu jest ustalana na podstawie całego obrazu. Gdy wartość progu zależy od współrzędnych przestrzennych (x, y) obrazu to mówimy, że próg jest ustalany dynamicznie. Gdy próg zarówno zależy od intensywności obrazu oraz jego pewnej cechy p(x, y), to próg nazywamy lokalnym. Ma to zastosowanie np. gdy obraz jest nierównomiernie oświetlony (wtedy p(x, y) odpowiada średniej jasności obrazu w danym otoczeniu).
Przykład. Progowanie lokalne z maska Gaussa. X [www. ii. uj. edu. pl/~rakowski/TOM_prezentacja. ppt]
W adaptacyjnym progowaniu wieloprzebiegowym w każdym kroku pewne piksele są klasyfikowane na podstawie ich wartości oraz progu obliczonego na podstawie wartości pikseli z pewnego zdefiniowanego otoczenia. Pozostałe, niesklasyfikowane piksele przechodzą do następnego etapu. Algorytm kończy działanie, gdy wszystkie piksele obrazu zostaną sklasyfikowane. Przykład. Lokalny próg dla piksela (x, y) może być liczony według wzoru txy = mxy + vxy, gdy vxy > vmin, gdzie m oznacza wartość średnią a v wariancję. Jeśli vxy < vmin, to wartość progu txy jest równa wartości progu dla poprzednio przetwarzanego piksela. Praktycznym problemem dającym się rozwiązać przy pomocy progowania adaptacyjnego jest sytuacja, w której na szukany obiekt pada intensywny refleks światła, co czyni jego barwę nieregularną z punktu widzenia kamery. W takim przypadku dobór pojedynczego progu może być niewystarczający.
Przykład. [http: //www. ee. pw. edu. pl/~czajewsw/studenckie/magisterskie/Daniel_Chade. pdf ]
Niekoniecznie musi być dokładnie jeden próg. Przy progowaniu wielopoziomowym wartości odpowiednich poziomów progowania są elementami wektora T=[T 1, T 2, . . . , Tn]. W jego wyniku obraz podlega segmentacji na n+1 obszarów o różnych intensywnościach, np. progowanie dwupoziomowe wyznacza trzy takie obszary: [aragorn. pb. bialystok. pl/~boldak/DIP/CPO-W 07 -v 01 -50 pr. pdf]
Ten sam algorytm z różnymi progami będzie (zazwyczaj) określał inne obszary. Jak zatem można określać progi , aby wynik był zgodny z naszymi oczekiwaniami? 1. 2. Ręcznie (interaktywnie). Automatycznie. Określenie właściwego progu jest skomplikowanym problemem, na którego rozwiązanie może mieć wpływ np. średnia intensywność szukanego obiektu i tła, ich rozmiary itp. .
Histogram to jeden z graficznych sposobów przedstawiania danych statystycznych. Składa się z szeregu prostokątów umieszczonych na osi współrzędnych. Prostokąty te są z jednej strony wyznaczone przez przedziały klasowe (zakresy zmian) wartości cechy, natomiast ich wysokość jest określona przez liczebności (częstości, gęstość elementów wpadających do określonego przedziału klasowego. [songho. ca]
Progowanie z pomocą histogramu. Często histogram obrazu wykazuje maksima dla częstości o pewnych intensywnościach. Granice odpowiednich otoczeń tych maksimów mogą służyć za progi. Duża amplituda wahań histogramu wskazuje na dobrą separowalność pewnych obiektów. Duża częstotliwość zmian histogramu umożliwia podział obrazu na wiele obiektów.
Przykład. [aragorn. pb. bialystok. pl/~boldak/DIP/CPO-W 07 -v 01 -50 pr. pdf]
Automatyczne wyznaczanie progów. Metoda geometryczna. 1. Wygładzamy histogram, aby pozbyć się ekstremów będących wynikiem szumów. 2. Wyznaczamy lokalne maksima histogramu. Gdy maksima leżą zbyt blisko siebie możemy je uwspólnić. 3. Wyznaczamy środki dolin między maksimami. W tym celu wybieramy lokalne minima lub przybliżamy doliny z pomocą krzywych drugiego stopnia. Gdy znamy funkcję opisującą rozkład intensywności pikseli obrazu, możemy przybliżyć histogram z pomocą rodziny takich funkcji i zastosować powyższą metodę.
Progowanie obrazów barwnych. Aby lepiej wybrać barwę należy progować wiele kanałów. Model HSV lepiej się sprawdza od modelu RGB. [aragorn. pb. bialystok. pl/~boldak/DIP/CPO-W 07 -v 01 -50 pr. pdf]
RGB Nazwa powstała ze złożenia pierwszych liter angielskich nazw barw (czerwonej, zielonej i niebieskiej), z których model ten się składa. Jest to model wynikający z właściwości odbiorczych ludzkiego oka, w którym wrażenie widzenia dowolnej barwy można wywołać przez zmieszanie w ustalonych proporcjach trzech wiązek światła o tych barwach. Do przestrzeni RGB ma zastosowanie synteza addytywna, w której wartości najniższe oznaczają barwę czarną, najwyższe zaś białą. Najczęściej stosowany jest 24 -bitowy zapis kolorów (po 8 bitów na każdą z barw składowych), w którym każda z barw jest zapisana przy pomocy składowych, które przyjmują wartość z zakresu 0 -255. W modelu RGB wartość 0 wszystkich składowych daje kolor czarny, natomiast 255 - kolor biały. W rzadszych przypadkach stosuje się model, w którym przypada po 12 lub 16 bitów na każdą ze składowych, co daje dużo większe możliwości przy manipulowaniu kolorem.
Przykłady. Mieszanie addytywne. Model RGB. [portaldtp. pl] [http: //pl. wikipedia. org/wiki/Synteza_addytywna]
HSV (ang. Hue Saturation Value) – model opisu przestrzeni barw zaproponowany w 1978 roku przez Alveya Raya Smitha. Model HSV nawiązuje do sposobu, w jakim widzi ludzki narząd wzroku, gdzie wszystkie barwy postrzegane są jako światło pochodzące z oświetlenia. Według tego modelu wszelkie barwy wywodzą się ze światła białego, gdzie część widma zostaje wchłonięta a część odbita od oświetlanych przedmiotów. Symbole w nazwie modelu to pierwsze litery nazw angielskich dla składowych opisu barwy: H – odcień światła (ang. Hue) wyrażona kątem na kole barw przyjmująca wartości od 0° do 360°. Model jest rozpatrywany jako stożek, którego podstawą jest koło barw. Wymiary stożka opisuje składowa S – nasycenie koloru (ang. Saturation) jako promień podstawy oraz składowa V – (ang. Value) równoważna nazwie B – moc światła białego (ang. Brightness) jako wysokość stożka.
Przyporządkowanie częstotliwości fal świetlnych na kole barw w modelu HSV jest takie samo jak w modelach HSL , tzn. centrum barwy czerwonej odpowiada kąt 0° lub 360°. Centrum barwy zielonej odpowiada kąt 120°. Centrum barwy niebieskiej odpowiada kąt 240°. Pozostałe barwy pośrednie dla składowej Hue są odpowiednio rozłożone pomiędzy kolorami czerwonym, zielonym i niebieskim. [http: //pl. wikipedia. org/wiki/HSV_(grafika)] [scien. stanford. edu]
TRGB = record red : byte; green : byte; blue : byte; end; THSV = record hue : word; // przyjmuje wartości od 0 do 239 saturation : byte; // przyjmuje wartości od 0 do 240 value : byte; // przyjmuje wartości od 0 do 240 end; // Jako parametr funkcji podajemy wypełniony rekord typu TRGB, funkcja zwraca wypełniony rekord typu THSV. function Konwertuj. RGBna. HSV(RGB : TRGB) : THSV; var temp : integer; begin temp : = MIN(RGB. red, RGB. green), RGB. blue); // Obliczanie składowej Value Result. value : = MAX(RGB. red, RGB. green), RGB. blue); // Zmienna TEMP jest teraz najmniejszą składową, a zmienna Result. value największą składową // Obliczanie składowej HUE if temp = Result. value then Result. hue : = 0 else begin if RGB. red=Result. value then Result. hue : = 0 + ((RGB. green-RGB. blue)*60 div (Result. value-temp)); if RGB. green=Result. value then Result. hue : = 120 + ((RGB. blue-RGB. red)*60 div (Result. value-temp)); if RGB. blue=Result. value then Result. hue : = 240 + ((RGB. red-RGB. green)*60 div (Result. value-temp)); end; if Result. hue<0 then Result. hue : = Result. hue+360; // Obliczanie składowej SATURATION if (Result. value=0) then Result. saturation : = 0 else Result. saturation : = (Result. value-temp)*100 div Result. value; // Obliczanie składowej VALUE Result. value : = (100*Result. value) div 255; end;
HSL – to model , w którym każdej barwie postrzeganej przez człowieka jest przyporządkowany jeden punkt w przestrzeni trójwymiarowej identyfikowany przez trzy składowe: (h, s, l). Model pojawił się w okresie startu telewizji – pierwsze demonstracje w latach 1926 -1960. Zakresy współrzędnych: H: Hue – barwa, o wartościach z przedziału: od 0 do 360 stopni. S: Saturation – nasycenie koloru, z przedziału 0. . . 1 albo 0. . . 100%. L: Lightness – średnie światło białe, z przedziału 0. . . 1 albo 0. . . 100%. Model HSL ma znaczenie historyczne i bywa nazywany modelem kolorów dla artystów. [http: //en. wikipedia. org/wiki/HSL_and_HSV]
RGBA Ten model czasami jest traktowany jako osobny, jednak w rzeczywistości jest to tradycyjny model RGB , poszerzony o dodatkowe informacje. Został opracowany przez grafików Edwina Catmulla, oraz Alvy'ego Raya Smitha w latach 1971 -1972. Umożliwił on wprowadzenie do obrazów obsługi efektu przezroczystości.
CIELab to przestrzeń barw, która została znormalizowana w 1976 przez CIE (Comission Internationale de l'Eclairage - Międzynarodową Komisję Oświetleniową). Stanowi ona modyfikację przestrzeni barw L, a , b, stworzonej przez Huntera w 1948 roku. CIELab stanowi matematyczną transformację przestrzeni CIEXYZ. Transformację tę wprowadzono jako wynik badań nad spostrzeganiem przez oko ludzkie różnicy między barwami. Zakładano, że barwy znajdujące się w przestrzeni CIELab w jednakowej odległości ΔE od siebie będą postrzegane jako jednakowo różniące się od siebie. CIELab miała być równomierną przestrzenią barw. Jednak różnicy percepcyjnej barw nie można jednoznacznie określić za pomocą ΔE. Barwę opisują matematycznie trzy składowe: L - jasność, a – barwa od zielonej do magenty, b – barwa od niebieskiej do żółtej. Przestrzeń CIEXYZ można przekształcić na przestrzeń barwną CIELab według związków (X 0=94, 81, Y 0=100, Z 0=107, 3, są współrzędnymi barwy ciała nominalnie białego):
CIELab jest obecnie najpopularniejszym sposobem opisu barwy i stanowi podstawę współczesnych systemów zarządzania barwą. Różnica pomiędzy dwiema barwami w przestrzeni CIELab ma postać: i jest zwykłą odległością euklidesową pomiędzy dwoma punktami w przestrzeni trójwymiarowej. Można przyjąć, że standardowy obserwator zauważa różnicę barw następująco: • 0 < ΔE < 1 - nie zauważa różnicy, • 1 < ΔE < 2 - zauważa różnicę jedynie doświadczony obserwator, • 2 < ΔE < 3, 5 - zauważa różnicę również niedoświadczony obserwator, • 3, 5 < ΔE < 5 - zauważa wyraźną różnicę barw, • 5 < ΔE - obserwator odnosi wrażenie dwóch różnych barw. [maggiemaggio. com]
CMYK Jest to zestaw czterech podstawowych kolorów farb drukarskich stosowanych powszechnie w druku kolorowym w poligrafii i metodach pokrewnych (atramenty, tonery i inne materiały barwiące w drukarkach komputerowych, kserokopiarkach itp. ). Na zestaw tych kolorów mówi się również barwy procesowe lub kolory triadowe. Ogólnie mówiąc – nie istnieje jednolity system definiowania kolorów z natury za pośrednictwem kolorów CMYK. Można dokonywać tylko ogólnych uproszczeń. Pewnego zakresu odcieni nie da się w ogóle uzyskać z powodów technologicznych, a pozostałe kolory muszą być definiowane składowymi CMYK z uwzględnieniem wielu czynników jak: biel podłoża, wsiąkliwość farby, czy cechy farb konkretnego producenta, choć na świecie istnieje kilka standardów. [http: //pl. wikipedia. org/wiki/CMYK]
Dziękuję za uwagę.
- Slides: 24