260 likes | 459 Views
Geometria obrazu Wykład 5. 1. Histogramy 2. Modele barw 3. Grafika wektorowa. Histogram. Histogram to jeden z graficznych sposobów przedstawiania danych statystycznych. Składa się z szeregu prostokątów umieszczonych na osi współrzędnych.
E N D
Geometria obrazuWykład 5 1. Histogramy 2. Modele barw 3. Grafika wektorowa
Histogram. 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-W07-v01-50pr.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-W07-v01-50pr.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 (zjawisko mieszania barw poprzez sumowanie wiązek światła o różnej długości), 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 HSV (ang.HueSaturationValue) – 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 THSV = record red : byte; hue : word; // przyjmuje wartości od 0 do 359 green : byte; saturation : byte; // przyjmuje wartości od 0 do 240 blue : byte; value : byte; // przyjmuje wartości od 0 do 240 end; end; --------------------------------------- function KonwertujRGBnaHSV(RGB : TRGB) : THSV; var temp : integer; begin temp := MIN(MIN(RGB.red, RGB.green), RGB.blue); // Obliczanie składowej Value Result.value := MAX(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; Przykład konwersji RGB na HSV [wikipedia].
HSL 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-1930. 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. A oznacza kanał będący odpowiednikiem współczynnika pochłaniania światła. Gdy = 0%, to piksel jest całkowicie przezroczysty. Natomiast dla =100% jest całkowicie widoczny (jak w zwykłym RGB).
CIELab CIELab to przestrzeń barw, która została znormalizowana w 1976 przez CIE (ComissionInternationale de l'Eclairage - Międzynarodową Komisję Oświetleniową). Stanowi ona modyfikację przestrzeni barw L, a , b, stworzonej przez Huntera w 1948 roku, gdzie barwę opisują matematycznie trzy składowe: L - jasność, a – barwa od zielonej do magenty, b – barwa od niebieskiej do żółtej. [cielab.com.au]
CIELab stanowi matematyczną transformację przestrzeni CIEXYZ. CIEXYZ jest specjalną paletą barw skonstruowaną przede wszystkim pod kątem postrzegania barw przez ludzkie oko (fotoreceptory). Barwę w sposób jednoznaczny opisuje się we współrzędnych trójchromatycznych X, Y, Z, przy czym współrzędne te zależne są od składowych, zwanych również względnymi sprawnościami wizualnymi czopków. [http://pl.wikipedia.org/wiki/CIEXYZ]
Przestrzeń CIEXYZ można przekształcić na przestrzeń barwną CIELab zgodnie z następującymi zależnościami (X0=94,81, Y0=100, Z0=107,3 są współrzędnymi barwy ciała nominalnie białego): 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.
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.
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://blulob.com/2009/03/13/the-cmyk-color-wheel]
Temperatura barwowa. Temperatura barwowa, to temperatura ciała doskonale czarnego, w której wysyła ono promieniowanie tej samej chromatyczności, co promieniowanie rozpatrywane. Innymi słowy, jest to obiektywna miara wrażenia barwy danego źródła światła, np.: • 2000 K – barwa światła świeczki, • 3000 K – wschód i zachód Słońca, • 4000 K – barwa biała, • 10000-15000 K – barwa czystego niebieskiego nieba, • 28000-30000 K – błyskawica. [http://pl.wikipedia.org/wiki/Plik:Color_temperature.svg]
Grafika wektorowa. Grafika wektorowa (obiektowa) jest jednym z dwóch podstawowych rodzajów grafiki komputerowej, w której obraz opisany jest za pomocą figur lub brył geometrycznych, umiejscowionych w danym układzie współrzędnych. Drugim z podstawowych typów grafiki komputerowej jest grafika rastrowa. Inna nazwa grafiki wektorowej – grafika obiektowa – pochodzi stąd, że obraz opisany jest za pomocą tzw. obiektów, które zbudowane są z podstawowych elementów nazywanych prymitywami, czyli prostych figur geometrycznych takich jak odcinki, krzywe, okręgi, wielokąty. Obiekty definiowane są z pomocą parametrów (np. końce linii) i posiadają własne atrybuty (np. grubość linii, przezroczystość, kolor). [www.forumbrzeg.pl]
Typowe możliwości: • elementarne figury: prosta, prostokąt, okrąg, łuk, wielokąt foremny, wielokąt gwiaździsty, spirala, krzywe Beziera, • standardowe atrybuty: grubość i kolor linii rysowania, kolor wypełnienia, zaokrąglenia rogów oraz ich przekształcenia takie jak konwersja figur elementarnych w krzywe, • podział obrazu na warstwy, • grupowanie oraz scalanie obiektów ze sobą, operacje boolowskie między obiektami (przycinanie, część wspólna itp.) • wstawianie obrazu rastrowego (bez wektoryzacji) z możliwością przekształcania go jako całości, • import grafik wektorowych oraz wektoryzacji grafik rastrowych • i inne.
Przykład. [pl.freepik.com]
Zalety: • skalowalność, prostota opisu, a przez możliwość modyfikacji poprzez zmianę parametrów obrazu, • podatność na przekształcenia geometryczne (obroty, symetrie), • mniejszy rozmiar w przypadku zastosowań niefotorealistycznych (schematy techniczne, mapy, loga, flagi i herby, wykresy itp.), • opis przestrzeni trójwymiarowych, • bardzo dobre możliwości konwersji do grafiki rastrowej. Wady: • duża złożoność pamięciowa dla obrazów fotorealistycznych, • przy skomplikowanych obrazach rastrowych konwersja do formy wektorowej nie opłaca się .
Podstawowe formaty zapisu. EPS (Encapsulated PostScript) – format plików, będący podzbiorem języka PostScript, służący do przechowywania pojedynczych stron grafiki wektorowej w postaci umożliwiającej osadzanie ich w innych dokumentach. PDF (PortableDocument Format, przenośny format dokumentu) – format plików służący do prezentacji, przenoszenia i drukowania treści tekstowo-graficznych, stworzony i promowany przez firmę Adobe Systems. Język opisu pliku PDF jest okrojoną wersją języka programowania PostScript wzbogaconą o elementy hipertekstowe. SVG (ScalableVectorGraphics) – uniwersalny format dwuwymiarowej grafiki wektorowej (statycznej i animowanej), nieobwarowany licencjami i patentami. Format SVG powstał z myślą o zastosowaniu na stronach WWW. Używany jest również jako niezależny od platformy systemowej format grafiki wektorowej. SVG należy do rodziny XML, więc może być integrowany z innymi językami, jak na przykład XHTML.