• Nie Znaleziono Wyników

Geometria obrazu

N/A
N/A
Protected

Academic year: 2021

Share "Geometria obrazu"

Copied!
26
0
0

Pełen tekst

(1)

Geometria obrazu

Wykład 4

Kolory i segmentacja 1. Modele barw

2. Histogramy

3. Metoda progowa

(2)

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.

(3)

Przykłady.

Mieszanie addytywne. Model RGB.

[http://pl.wikipedia.org/wiki/Synteza_addytywna]

[portaldtp.pl]

(4)

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).

(5)

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]

(6)

HSV

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.

(7)

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.

[scien.stanford.edu]

[http://pl.wikipedia.org/wiki/HSV_(grafika)]

(8)

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].

(9)

CIELab

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, gdzie barwę opisują matematycznie trzy składowe: L - jasność, a – barwa od zielonej do magenty, b – barwa od niebieskiej do żółtej.

[cielab.com.au]

(10)

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]

(11)

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.

(12)

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.

(13)

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]

(14)

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]

(15)

Metoda progowa (threshold method)).

Załóżmy, że mamy dany obraz w różnych odcieniach szarości.

Segmentacja przez progowanie polega na określeniu pewnej wartości pro-gowej 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.

T y x f

T y x f dla y dla

x

g

) , (

) , ( 0

) 1 , (

(16)

Przykład.

Progowanie lokalne z maską Gaussa.

X

[www.ii.uj.edu.pl/~rakowski/TOM_prezentacja.ppt]

(17)

Niekoniecznie musi być dokładnie jeden próg.

Przy progowaniu wielopoziomowym wartości odpowiednich poziomów

progowania są elementami wektora T=[T1, T2,..., Tn]. W jego wyniku obraz podlega segmentacji na n+1 obszarów o różnych intensywnościach, np.

progowanie dwupoziomowe wyznacza trzy takie obszary:

) , (

) , (

) , ( 0

1 0 ) , (

2

2 1

1

y x f

y x f

y x f dla

dla dla y

x g

T T

T T

[aragorn.pb.bialystok.pl/~boldak/DIP/CPO-W07-v01-50pr.pdf]

(18)

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).

(19)

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.Ręcznie (interaktywnie).

2.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..

(20)

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.

(21)

Przykład.

[aragorn.pb.bialystok.pl/~boldak/DIP/CPO-W07-v01-50pr.pdf]

(22)

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ę .

(23)

Przykład. 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]

(24)

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.

(25)

Przykład.

[http://www.ee.pw.edu.pl/~czajewsw/studenckie/magisterskie/Daniel_Chade.pdf]

(26)

Dziękuję za uwagę.

Cytaty

Powiązane dokumenty

3.Wyznaczamy zbiór S’ lokalnych minimów w triangulacji Delaunay oraz podzbiór E’ zbioru E krawędzi, które łączą punkty z S’ z punktem o..

Drzewo, które pozostanie na liście, jest nazywane drzewem Huffmana – prawdopodobieństwo zapisane w korzeniu jest równe 1, natomiast w liściach drzewa zapisane są symbole.

całości trójwymiarowej sceny sześcianem (lub prostopadłościanem), który następnie dzielony jest na osiem

dla każdego źródła światła sprawdź, czy istnieje promień odbijający się w danym punkcie w kierunku obserwatora, jeśli tak, to oblicz parametry odbicia;.. jeśli promień

Punkt p znajduje się w półcieniu, gdy źródło światła jest częściowo widoczne z tego punktu.. Punkt p znajduje się w antycieniu, gdy całe źródło światła jest widoczne

- bottom-up : najpierw znajdujemy bryły ograniczające małe grupy bliskich obiektów, a następnie łączymy je w coraz większe zbiory, - top-down : znajdujmy bryłę

Time of light – generowane są błyski światła i na podstawie czasu dotarcia ich do kamery określana jest odległość od poszczególnych elementów sceny (metoda wrażliwa na

Niestety mają tu też znaczenie subiektywne odczucia obserwatora... Tworząc wizualizację grafu możemy kierować się np. następującymi kryteriami:.. a) maksymalizacją