Metoda zachowania dynamiki obrazu HDRI i jej zastosowania

Wielkość: px
Rozpocząć pokaz od strony:

Download "Metoda zachowania dynamiki obrazu HDRI i jej zastosowania"

Transkrypt

1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Praca magisterska Metoda zachowania dynamiki obrazu HDRI i jej zastosowania Mateusz Ludwin Kierunek: Informatyka Specjalność: Inżynieria systemów informatycznych i baz danych Nr albumu: Promotor dr inż. Witold Alda Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Kraków 2008

2 Oświadczenie autora Ja, niżej podpisany Mateusz Ludwin oświadczam, że praca ta została napisana samodzielnie i wykorzystywała (poza zdobytą na studiach wiedzą) jedynie wyniki prac zamieszczonych w spisie literatury (Podpis autora)

3 Spis treści Wstęp Rozdział 1. Wprowadzenie do HDRI Powszechnie stosowane formaty danych graficznych Ograniczenia standardowych formatów graficznych Ograniczona dynamika Ograniczona reprezentacja Definicja HDRI Rozdział 2. Źródła danych HDRI Przedstawienie metod generacji HDRI Rendering grafiki 3D na przykładzie pakietu Radiance Rozszerzenia wykorzystywane w nowoczesnych kartach graficznych z akceleracją 3D Bezpośrednia konwersja z formatów LDR Wykorzystanie zdigitalizowanych obrazów Metoda scalania zdigitalizowanych obrazów Fizyczne podstawy rejestracji obrazu Podsumowanie ograniczeń wynikających z cyfrowej rejestracji obrazu Ilościowy opis zjawisk związanych z rejestracją obrazu Metody rekonstrukcji krzywej transferu Rekonstrukcja krzywej transferu na przykładzie metody Debeveca Malika Synteza HDRI z obrazów o niskiej dynamice Rozdział 3. Prezentacja obrazów HDR Problematyka percepcji ludzkiego oka Ograniczona maksymalna luminancja urządzenia Logarytmiczna natura ludzkiego wzroku Podsumowanie Mapowanie odcieni Tonemapper liniowy Modulacja gamma Tonemapper logarytmiczny Adaptacyjny tonemapper logarytmiczny Redukcja kontrastu w domenie gradientowej Rozdział 4. Zastosowania HDRI

4 Spis treści 4.1. Fotografia cyfrowa Korekcja tonalna Symulacja efektu Bloom Realistyczna symulacja efektu Motion Blur Symulacja efektu Bokeh Wykrywanie krawędzi w domenie luminancji Symulacja oświetlenia przy pomocy HDRI Symulacja oświetlenia w programach do renderingu 3D Symulacja oświetlenia w czasie rzeczywistym Rozdział 5. Dokumentacja Aplikacji Główne składniki aplikacji Biblioteka jhdri Wykorzystane technologie Składniki biblioteki Program jhdri Editor Moduły programu Program HDR Environment Viewer Uruchamianie programu Działanie programu Rozdział 6. Podsumowanie i wnioski Propozycje dalszej rozbudowy aplikacji Wnioski Dodatek A - Słownik terminów Dynamika Fotometria HDRI Kontrast LDRI Luminancja Radiancja Radiometria Bibliografia

5 Wstęp Celem poniższej pracy jest przedstawienie w możliwie najszerszym stopniu technologii HDRI (High Dynamic Range Imaging). Jest to nowy sposób zapisu grafiki komputerowej, pozwalający na ominięcie ograniczeń stosowanych dotychczas formatów graficznych, znajdujący zastosowanie wszędzie tam, gdzie wymagana jest wysoka jakość przetwarzania oraz możliwie największy zasób dostępnych informacji o obrazie. W ciągu ostatnich kilku lat HDRI na dobre wpisało się w takie dziedziny jak grafika 3D generowana w czasie rzeczywistym, rendering grafiki 3D z wykorzystaniem techniki Global Illumination, czy fotografia cyfrowa i przetwarzanie obrazu. Praca zawiera opis samej technologii HDRI, porównanie właściwości obrazów HDR ze zwykłymi formatami danych graficznych, a także metody otrzymywania danych HDR. Następnie poruszono problem prezentacji obrazów o dużej dynamice na standardowych urządzeniach wyświetlających wraz z całym potrzebnym aparatem matematycznym. Opisano także wybrane zastosowania HDRI w grafice 2D i 3D, proponując wykorzystanie tej technologii do realistycznej symulacji efektów fotograficznych oraz oświetlania obiektów 3D. Na potrzeby tej pracy stworzona została biblioteka i aplikacja graficzna pozwalająca na tworzenie, analizowanie i przetwarzanie danych graficznych HDR. Wszystkie zaprezentowane w pracy rezultaty prac pochodzą z algorytmów zaimplementowanych w wspomnianej aplikacji, w rozdziale 5 zawarto także podręcznik użytkownika pozwalający na samodzielne jej wykorzystanie. 3

6 Rozdział 1 Wprowadzenie do HDRI W celu zrozumienia idei HDRI konieczne jest wcześniejsze przedstawienie klasycznych formatów zapisu obrazu. Poniższy rozdział opisuje ograniczenia związane z takimi formatami danych graficznych oraz prezentuje nowy sposób zapisu obrazu pozbawiony tych wad Powszechnie stosowane formaty danych graficznych Tradycyjne formaty dwuwymiarowych danych graficznych można podzielić na trzy główne grupy: 1. Jednokolorowe mapy bitowe obraz jest reprezentowany przez ciąg piskeli reprezentowanych za pomocą pojedynczych bitów. Każdy piksel przyjmuje jedynie dwie wartości zapalony/zgaszony. Format ten jest szczególnie dogodny i powszechnie stosowany w automatycznej analizie obrazu (operacje morfologiczne, wykrywanie linii i kształtów), oraz w niektórych metodach rozpoznawania obrazu (na przykład OCR Optical Character Recognition). 2. Tryby z paletą. Z obrazem związana jest paleta kolorów, opisująca skończony zbiór (zwykle o wielkości potęgi dwójki) kolorów w dowolnej przestrzeni barwnej za pomocą kodów liczbowych, poszczególne piksele odwołują się następnie do kodów poszczególnych kolorów. Założenie takie powoduje ograniczenie dostępnej dla obrazu przestrzeni barwnej do skończonego podzbioru kolorów z przestrzeni wyjściowej. Ograniczenie takie wynika z ograniczeń starszych kart graficznych, nie posiadających wystarczająco dużej pamięci własnej do reprezentowania obrazu w trybie Full Color. Wyróżnić można dwa główne sposoby zapisu obrazu w tym trybie: a) Bitplanowe formaty z paletą format ten stanowi formę pośrednią między mapami bitowymi i popularniejszą odmianą trybów z paletowaniem, przechowującą dane w formacie chunky opisaną poniżej. W odmianie bitplanowej obraz reprezentowany jest przez ciąg kolejnych bitplanów (map bitowych), z 4

7 1.1. Powszechnie stosowane formaty danych graficznych których każdy jest jednobitowym kanałem kodującym jeden z bitów numeru koloru w palecie. Format taki jest dogodny w sprzętowym mieszaniu kanałów (przy pomocy układu do sprzętowych operacji na mapach bitowych, zwanego blitterem) i symulowaniu efektu paralaksy 2D, stąd był szeroko rozpowszechniony w zastosowaniach wideo i w starszych komputerach szesnastobitowych. Najpopularniejszym formatem bitplanowym z paletowaniem jest IFF-ILBM, przechowujący obrazy o od 1 do 256 kolorów, a w trybach rozszerzonych HAM6 i HAM8 odpowiednio 4,096 i 262,144 kolorów. b) Formaty z paletą w trybie chunky tryby te są analogiczne do formatów bitplanowych, różni je jednak sposób fizycznego przechowywania kodów odpowiadających poszczególnym pikselom. W trybie chunky każdy piksel reprezentowany jest w postaci paczki (ang. Chunk) bitów kodujących jednoznacznie stowarzyszony z nim kolor. Ogranicza to możliwość sprzętowych operacji maskowania i translacji, dogodnych w trybie bitplanowym, ale jednocześnie daje możliwość znacznie szybszych operacji obrotu i skalowania w przestrzeni 3D. Tryb Chunky Pixel był szeroko rozpowszechniony w starszych kartach graficznych dla komputerów PC. Najpopularniejszym formatem graficznym w tym trybie jest GIF, stosowany powszechnie w grafikach dla stron WWW. 3. Obrazy typu Full Color w trybach tych zrezygnowano z palety kolorów dołączanej do pliku graficznego na rzecz bezpośredniego opisu składowych barwnych dla każdego piksela (od razu w docelowej przestrzeni barwnej). Najbardziej rozpowszechnione podtypy tego formatu to: a) Hi Color każdy piksel reprezentowany jest przez 16 bitów, podzielonych następująco: 5 bitów na kanał R, 6 bitów na kanał G i 5 bitów na kanał B (podział taki wynika z większej czułości ludzkiego oka na kolor zielony). W efekcie otrzymuje się przestrzeń 65,536 kolorów. b) True Color każdy piksel opisywany jest przez 24 bity, podzielone na trzy ośmiobitowe kanały R, G, B. Otrzymywana przestrzeń zawiera 16,777,216 kolorów. Każdy z kanałów przyjmuje wartości od 0 do 255. Jest to obecnie najbardziej rozpowszechniony sposób przechowywania obrazu, dogodny szczególnie w prezentacji i obróbce zdjęć. c) True Color 32-bitowy różnica pomiędzy tym trybem, a zwykłym formatem True Color polega na dopełnieniu oryginalnych 24 bitów dodatkowym, ośmiobitowym kanałem Alfa, reprezentującym zwykle przezroczystość (trzeba jednak zauważyć, że kanał Alfa nie zmienia przestrzeni barwnej, która nadal opisuje 2 24 kolorów. Format taki jest dogodny w obróbce i fizycznym przechowywaniu danych przez komputery 32-bitowe. W praktyce kanał Alfa jest zwykle ignorowany. W dalszej części pracy pominięto w rozważaniach tryby mapy bitowej oraz tryby z paletowaniem z powodu niewielkich możliwości operacji graficznych związanych z ograniczoną przestrzenią barwną. Z tego samego powodu obecnie w grafice rastrowej prawie zawsze stosowane są tryby typu Full Color. 5

8 1.2. Ograniczenia standardowych formatów graficznych 1.2. Ograniczenia standardowych formatów graficznych Opisane powyżej formaty cechują się ograniczeniami wynikającymi z wewnętrznej reprezentacji danych. Poniżej przedstawiono ich przyczyny oraz wynikające z nich niedogodności Ograniczona dynamika Pierwszym ograniczeniem wynikającym z reprezentacji danych graficznych za pomocą przedstawionych wyżej formatów jest występowanie górnego ograniczenia nałożonego na dostępną przestrzeń tonalną. Dla przykładu, w formacie True Color z 24 bitami nie jest możliwe zapisanie i wyświetlenie piksela o wartości kanału R większej niż 255. Podobnie najjaśniejszym możliwym do zapisania i wyświetlenia pikselem jest (255, 255, 255). Typowe przekształcenia obrazu bazujące na operacjach na kanałach barwnych, jak: zmiana jasności, czyli dodanie stałej wartości do intensywności wszystkich pikseli obrazu, korekcja nieliniowymi funkcjami (tzw. korekcja krzywymi), mogą prowadzić do przekroczenia wartości maksymalnej (wartość nie mieści się w dostępnym zakresie dynamiki). W takim przypadku jako wynik operacji przyjmuje się wartość maksymalną, co ma następujące konsekwencje: Tracona jest informacja o rzeczywistej wartości piksela w porównaniu z resztą obrazu. Obszary na których doszło do przekroczenia dostępnej dynamiki zwykle widoczne są jako plamy zafałszowanego koloru (jeśli jeden z kanałów pozostaje poniżej wartości maksymalnej), lub białe, jednolite plamy (jeśli wartości wszystkich kanałów nie mieszczą się w dostępnej dynamice). Stanowi to istotny problem w obróbce graficznej, uniemożliwiając lokalne zwiększanie kontrastu ponad ustaloną wartość. Operacje powodujące przekroczenie wartości maksymalnej stają się operacjami nieodwracalnymi. Nie jest możliwe odtworzenie pierwotnej wartości piksela, ponieważ została ona utracona przez obcięcie do wartości maksymalnej. Z tego powodu, w celu udostępnienia użytkownikowi funkcjonalności undo/redo, oprogramowanie graficzne musi stale zapisywać obrazy po kolejnych przekształceniach, zamiast jedynie zapisywać historię wykonywanych operacji. Trzeba zauważyć, że wraz z zapisem obrazu do pliku wynikowego nie jest możliwe przywrócenie go do postaci pierwotnej. Kolejną trudnością jest brak możliwość reprezentacji danych w których od początku występują zbyt duże różnice między najjaśniejszymi i najciemniejszymi miejscami (nie jest na przykład możliwe reprezentowanie rzeczywistej różnicy jasności pomiędzy tarczą słońca, a resztą sceny, na przykład ulicą). Jak pokazuje to dalsza część pracy, zjawisko przekroczenia zakresu dynamiki występuje już na etapie rejestracji obrazu źródłowego, wymuszając zastosowanie metody scalania wielu obrazów Ograniczona reprezentacja Wszystkie powyższe formaty danych reprezentują wartości pikseli w postaci liczb stałoprzecinkowych. Wywołuje to kolejne ograniczenia: 6

9 1.3. Definicja HDRI Przestrzeń tonalna posiada skończoną, zwykle dość małą, rozdzielczość. W przypadku trybu True Color jest to 256 wartości na pojedynczy kanał. W chwili kiedy na obrazie przeprowadzane są operacje dążące na przykład do wyeksponowania cieni lub świateł (zwykle przeprowadzane przy pomocy korekcji krzywymi) obszary te nie posiadają wystarczającej ilości informacji i widoczne są jako płaskie plamy o jednym odcieniu. Jest to szczególnym problemem w obróbce fotografii, gdzie korekcja cieni i świateł jest jedną z najczęściej przeprowadzanych operacji. Każda zmiennoprzecinkowa operacja na obrazie powoduje powstawanie błędów zaokrągleń. Większość korekcji barwnych tworzy na wyjściu dane o wartości zmiennoprzecinkowej, która następnie jest obcinana/dopełniana do najbliższej wartości całkowitej. Błędy zaokrągleń kumulują się wraz z każdą kolejną operacją. Jeszcze poważniejszym problemem jest nieodwracalność operacji zmiennoprzecinkowych, ponieważ informacja o części ułamkowej wartości pikseli została bezpowrotnie utracona z obrazu. Z tego powodu, analogicznie jak w przypadku ograniczonej dynamiki, oprogramowanie graficzne nie może przechowywać jedynie historii operacji, ale musi zapamiętywać kolejne obrazy pośrednie Definicja HDRI Opierając się na powyższym podsumowaniu ograniczeń wynikających z powszechnie stosowanych formatów przechowywania danych graficznych, można sformułować wymagania jakie powinien spełniać pozbawiony ich format graficzny: Nieograniczona dynamika obrazu, pozwalająca na przechowywanie danych o kontraście o wiele rzędów wielkości większym, niż standardowe formaty operujące na przestrzeni barwnej opisanej przez liczby stałoprzecinkowe o niewielkiej liczbie bitów. Wymaganie to można rozluźnić do warunku, aby dostępna dynamika pozwalała na zapis dowolnego użytecznego obrazu i dowolne manipulacje bez obcinania wartości po przekroczeniu progu maksymalnego Nieograniczona rozdzielczość tonalna, pozwalająca na pozbawione błędów zaokrągleń i w pełni odwracalne manipulacje na obrazie. Także i w tym przypadku można przyjąć warunek luźniejszy, zakładający powstawanie błędów zaokrągleń, ale na pomijalnym poziomie z punktu widzenia obróbki obrazu Warto zauważyć, że już pierwszy postulat nieograniczonej dynamiki pozwala na stosowanie nazwy High Dynamic Range Imaging, jednakże warunek wysokiej rozdzielczości tonalnej staje się de facto koniecznością podczas pracy z HDRI, zarówno na etapie tworzenia obrazu, jak i jego dalszej obróbki, co pokazuje dalsza część pracy. Najwygodniejszym, a także najczęściej stosowanym rozwiązaniem powyższych problemów jest przechowywanie obrazu w formacie zmiennoprzecinkowym. Rezygnacja z liczb całkowitych daje w efekcie następujące właściwości: Zakres przechowywanych danych staje się o wiele rzędów wielkości większy niż w przypadku liczb stałoprzecinkowych. Poniższa tabela przedstawia porównanie między stałoprzecinkowymi liczbami całkowitymi ze znakiem o wielkości 32 i 64 bitów oraz odpowiadającymi im rozmiarem formatami float i double według specyfikacji IEEE : 7

10 Format Wartość minimalna Wartość maksymalna Integer 32-bit 2, , Float (32 bity) Integer 64-bit Double (64 bity) Definicja HDRI Widać więc, że dla tak przyjętego formatu reprezentacji danych dostępna dynamika obrazu jest znacząco większa niż w przypadku formatów stałoprzecinkowych, choć liczba użytych bitów się nie zmienia. Znika konieczność wielokrotnej konwersji do liczb stałoprzecinkowych, a co za tym idzie, błędy reprezentacji ograniczają się do tych powstających podczas wewnętrznej obróbki danych w aplikacji. Daje to dużo większą dokładność wieloetapowego procesu przetwarzania i praktycznie pełną odwracalność operacji. Na potrzeby tej pracy przyjęto wewnętrzną reprezentację danych w postaci trzech kanałów barwnych (standard RGB) kodowanych za pomocą trzech liczb typu double. W rozdziale 4.2 szerzej omówiono korzyści wynikające z zastosowania liczb zmiennoprzecinkowych w przetwarzaniu obrazu. 8

11 Rozdział 2 Źródła danych HDRI Stosowanie formatu HDRI nie miałoby sensu bez metod automatycznego tworzenia zbiorów danych o dużej dynamice. Konieczne jest więc przedstawienie metod wykorzystywanych do otrzymywania takich obrazów. Możemy je podzielić na dwie główne grupy: 1. Generacja programowa. 2. Digitalizacja obrazu. Poniższy rozdział przedstawia obie te grupy metod, koncentrując się głównie na digitalizacji obrazu, ze względu na to, iż jest to obecnie najczęściej spotykany sposób tworzenia HDRI Przedstawienie metod generacji HDRI Rendering grafiki 3D na przykładzie pakietu Radiance Historycznie najstarszą metodą generacji danych HDRI jest ich programowa generacja podczas renderingu grafiki 3D. Renderery używają zwykle modelu danych opartego o zmiennoprzecinkowe parametry oświetlenia, dopiero na samym końcu przekształcając je na stałoprzecinkowy wynik renderingu. W 1985 r. Greg Ward stworzył pakiet Radiance [10], który nie tylko posługiwał się takimi modelami do obliczeń oświetlenia, ale także pozwalał na zapis wyniku renderingu w formacie HDR. Do przechowywania tych danych w formie pliku stworzono format RGBE, posługujący się 32-bitowym, zmiennoprzecinkowym zapisem trzech kanałów barwnych (po 8 bitów na kanał plus 8 bitów na wspólną mantysę). 9

12 2.1. Przedstawienie metod generacji HDRI Rozszerzenia wykorzystywane w nowoczesnych kartach graficznych z akceleracją 3D Wraz z rozwojem nowoczesnych kart graficznych z akceleracją 3D możliwe było wykorzystanie w procesie przetwarzania obrazu danych o znacznie większej dynamice niż w poprzednich generacjach. Wprowadzenie możliwości tworzenia shaderów wraz z wersją 8 biblioteki Direct X i wersją 1.5 biblioteki OpenGL dało możliwość symulacji efektów uzyskiwanych podczas pracy z prawdziwym HDRI, takich jak Bloom czy naśladowanie adaptacji ludzkiego oka. Nadal jednak obliczenia prowadzone były w nierealistycznym modelu oświetlenia, wykorzystującym cztery kanały (RGB i kanał alfa) opisane ośmiobitowymi liczbami stałoprzecinkowymi. Wraz z kolejną wersją DirectX (9.0) udostępniono programistom model oświetlenia bazujący na liczbach stałoprzecinkowych o większej liczbie bitów (aż do 24). W ten sposób zdjęte zostało jedno ograniczenie, nadal jednak obliczenia prowadzone były z wykorzystaniem liczb stałoprzecinkowych. Następna wersja DirectX (9.0c) udostępniła już wykonywanie obliczeń oświetlenia w pełni na liczbach zmiennoprzecinkowych (w zakresie od 32 do 64 bitów). Umożliwia to wykorzystanie w pełni możliwości jakie daje technologia HDRI, bez kosztownych i trudnych w implementacji sztuczek programistycznych, wymaganych przez poprzednie generacje bibliotek. Większość operacji nadal wymaga jednak pewnych uproszczeń - przykładowo zastosowanie bardziej skomplikowanych, działających lokalnie tonemapperów (patrz rozdział 3.2) jest niemożliwe w czasie rzeczywistym. Wraz z rozwojem strony programowej ulepszeniom podlegały także same karty graficzne, które obecnie sprzętowo wspierają obliczenia oświetlenia na liczbach zmiennoprzecinkowych. Można się spodziewać, że wraz z dalszym rozwojem technologii 3D możliwe będzie całkowite wyeliminowanie standardowych danych o niskiej dynamice, takich jak tekstury, tła, czy symulacje efektów pirotechnicznych i całkowite przejście na formaty zmiennoprzecinkowe Bezpośrednia konwersja z formatów LDR Pozornie najmniej przydatnym źródłem danych HDRI są zwykłe grafiki bitmapowe, nazywane też w tym kontekście LDR (Low Dynamic Range). Należy jednak pamiętać, że HDRI pozwala na znacznie dokładniejszą obróbkę obrazu, co pokazuje rozdział 4.2, tak więc korzystne staje się konwertowanie obrazów LDR do formatu HDR i przetwarzanie ich w takiej postaci. W celu konwersji do wybranej reprezentacji HDRI, wykorzystuje się proste mapowanie ( ) zin I out = R, (2.1) Z max gdzie I out oznacza wyjściową intensywność kanału, opisaną w formacie zmiennoprzecinkowym, z in wejściową, a Z max maksymalną intensywność kanału, a R (Range) stałą decydującą o otrzymanej na wyjściu dynamice. Nie należy mylić opisanego powyżej mapowania z syntezą HDRI wykorzystującą rekonstrukcję charakterystyki czujnika rejestrującego obraz, co opisano w kolejnym rozdziale. 10

13 2.2. Metoda scalania zdigitalizowanych obrazów Tak otrzymane dane mogą być następnie wykorzystane do dokładniejszej niż standardowa obróbki tonalnej, na przykład korekcji kontrastu i jasności. Operacje te nie spowodują przepełnienia, ani widocznych błędów zaokrągleń, zatem ich zastosowanie przez użytkownika będzie bardziej intuicyjne i łatwiejsze. Jako że w procesie mapowania nie została zmodyfikowana liniowość danych wejściowych, konwersja do przestrzeni LDR jest prosta i wykonywana tonemapperem liniowym, opisanym w rozdziale Należy jednak pamiętać, że bardziej skomplikowane operacje, jak na przykład nakładanie na siebie kilku zdjęć o zmodyfikowanej jasności, a także większość korekcji odnoszących się do selekcji i masek, mogą wymagać bardziej skomplikowanych tonemapperów, ponieważ otrzymane dane mogą cechować się znacznym kontrastem Wykorzystanie zdigitalizowanych obrazów Zdecydowanie najpopularniejszą metodą otrzymywania danych HDRI jest wykorzystanie wielu zdigitalizowanych obrazów o niskiej dynamice, a następnie połączenie zawartych w nich informacji do wygenerowania jednego obrazu HDR. Metoda ta umożliwia w praktyce rejestrację danych pochodzących ze świata rzeczywistego, które same w sobie posiadają cechy charakteryzujące HDRI. Dokładnemu opisowi tej metody poświęcono osobny, kolejny rozdział Metoda scalania zdigitalizowanych obrazów Poniżej przedstawiono dokładnie zagadnienia związane z metodą generacji HDRI na bazie kilku obrazów typu LDR Fizyczne podstawy rejestracji obrazu W celu zrozumienia problemów związanych z otrzymywaniem danych HDRI ze zdigitalizowanych obrazów konieczne jest przedstawienie procesu rejestracji obrazu przez urządzenia światłoczułe. Poniższy opis dotyczy głównie rejestracji obrazu przez matrycę aparatu fotograficznego, jednak poza drobnymi szczegółami można go uogólnić na inne metody digitalizacji (skanery, kamery cyfrowe). Elektroniczna rejestracja obrazu jest procesem wieloetapowym i w dużym stopniu nie podlegającym kontroli użytkownika. Można go podzielić na następujące etapy: 1. Światło dochodzące z obserwowanej sceny jest przekształcane przez układ optyczny (zwykle obiektyw) na obraz pozorny rejestrowalny przez matrycę. Nie wnikając w szczegóły optyczne, można na etapie tym wyróżnić najbardziej znaczące zniekształcenia danych wejściowych: winietowanie - jest to efekt przyciemnienia obrazu proporcjonalny do odległości od centrym kadru, wynikający z niedostatecznej wielkości układu optycznego, skończona głębia ostrości - obszary znajdujące się na scenie przed lub za płaszczyzną ostrości ustawioną w obiektywie zaczynają być coraz bardziej rozmyte, aberracje - na granicach obszarów jasnych i ciemnych powstają rozmyte, białe obwódki, wynikające z niedoskonałości układu optycznego. Należy zauważyć, że opisane powyżej efekty są ściśle związane z wybraną liczbą przysłony (a co za tym idzie, z wielkością otworu przez który wpada światło rejestrowane w kolejnym etapie). Z tego względu podczas rejestracji wielu obra- 11

14 2.2. Metoda scalania zdigitalizowanych obrazów zów przeznaczonych do połączenia w obraz HDR zalecane jest przyjęcie stałej liczby przysłony i regulacja jedynie czasu naświetlania. Przy takich założeniach zniekształcenia pozostaną stałe i nie zaburzą procesu scalania. 2. Obraz pozorny przygotowany przez układ optyczny pada na matrycę światłoczułą i następuje jego rejestracja. Typowa matryca składa się z komórek światłoczułych typu CCD lub CMOS mierzących natężenie padającego światłą przez zliczanie padających na nie fotonów. Czas naświetlania regulowany jest przez migawkę aparatu, po jego upłynięciu dopływ światła jest odcinany. Na etapie tym następuje ograniczenie rejestrowanej dynamiki sceny. Odpowiedzialne są za to dwa efekty: a) Szum tła proporcjonalnie do wybranej czułości matrycy można zaobserwować stały poziom generowanego przez nią szumu, który nie zależy od czasu naświetlania. Szum taki zwykle pokrywa równomiernie cały obraz i dotyczy wszystkich kanałów barwnych. Należy zauważyć, że zarejestrowany sygnał o natężeniu niższym niż próg szumu tła jest silnie zaburzony i w praktyce nie do odzyskania. Stąd niemożliwe jest rejestrowanie sygnałów dowolnie słabych. b) Prześwietlenia matryca światłoczuła posiada pewną wewnętrzną dynamikę, wynikającą z zastosowanych układów zliczających natężenie światła. Jej przekroczenie powoduje odcięcie dalszego zliczania i w efekcie utratę informacji o rzeczywistym natężeniu (jasności). Większe komórki światłoczułe cechują się zwykle większą dynamiką, zawsze jednak ma ona skończoną wartość. Stąd niemożliwe jest rejestrowanie sygnałów dowolnie silnych. Powyższe efekty w znaczącym stopniu ograniczają dynamikę rejestrowanego obrazu. Szum tła powoduje utratę szczegółów w ciemnych partiach obrazu, podczas gdy odcięcie prześwietleń powoduje utratę informacji w obszarach jasnych. Metoda kompozycji obrazów HDRI z kilku zdigitalizowanych obrazów, opisana w rozdziale pozwala jednak na rekonstrukcję pełnej informacji o obserwowanej scenie i jest podstawową techniką otrzymywania obrazów HDR pochodzących ze źródeł innych niż syntetyczne. 3. Zarejestrowany sygnał jest konwertowany do postaci cyfrowej przez liniowy przetwornik analogowo cyfrowy (ADC). Typowe przetworniki stosowane w aparatach fotograficznych dysponują rozdzielczością od 12 do 14 bitów, powodując dalszą utratę informacji w najciemniejszych partiach obrazu (są one kwantowane do zerowego poziomu sygnału wyjściowego). Oprócz tego przetwornik wprowadza własny szum i nieliniowość wynikające z niedoskonałości fizycznej. 4. Oprogramowanie aparatu dokonuje konwersji zarejestrowanych danych cyfrowych do formatu bitmapowego. Etap ten składa się z kilku kroków: a) Demozaikowanie typowa matryca wielobarwna posiada komórki czułe na poszczególne barwy ułożone obok siebie, w kształcie wybranej przez producenta mozaiki. Technologia taka jest dogodna do zastosowania z punktu widzenia produkcji matrycy, jednak nie nadaje się do wyświetlenia na ekranie prezentującym obraz, ponieważ zwykle składa się on z równomiernie ułożonych pod-pikseli świecących w barwach RGB. Algorytm demozaikowania ma za zadanie konwersję danych z matrycy do formatu w którym piksele zgrupowane są w pojedynczą tablicę dwuwymiarową, a każdy z pikseli zawiera dane o kilku kanałach barwnych (zwykle RGB). 12

15 2.2. Metoda scalania zdigitalizowanych obrazów b) Zastosowanie krzywej tonalnej z powodu ograniczonego kontrastu z jakim wyświetlają obraz typowe urządzenia, konieczne jest zmodyfikowanie liniowych danych zarejestrowanych przez matrycę przy pomocy funkcji transferu (jest to termin wywodzący się z fotografii analogowej, gdzie analogiczną rolę pełni nieliniowo rejestrujący obraz film światłoczuły), aby odczuwany przez ludzkie oko efekt miał zbliżoną charakterystykę do oryginalnej sceny. Szerzej zagadnienie to opisano w rozdziale 3.2. Typowe urządzenia do digitalizacji obrazu wykorzystują zwykle funkcję zbliżoną do korekcji gamma (patrz punkt 3.2.2), aczkolwiek należy założyć, że wprowadzane zniekształcenie jest całkowicie nieliniowe i z góry nieznane. Znajomość wykorzystanej funkcji jest konieczna do syntezy obrazu HDR z kilku zdigitalizowanych obrazów o niskiej dynamice, stąd konieczna jest wcześniejsza jej kalibracja za pomocą obrazów testowych. Poświęcono temu rozdział c) Otrzymany obraz jest konwertowany do ośmiobitowej reprezentacji i zapisywany w jednym z popularnych formatów graficznych (zwykle JPEG). Należy zaznaczyć, że w niektórych urządzeniach rejestrujących obraz możliwe jest pominięcie etapu 4. i bezpośrednie odczytanie danych zarejestrowanych przez przetwornik analogowo-cyfrowy. Dalsze przekształcenia są wtedy dokonywane na drodze programowej i podlegają kontroli użytkownika. Upraszcza to znacznie dalszy proces syntezu obrazu HDRI, ponieważ do dyspozycji udostępniane są dane o większej rozdzielczości niż tylko 8 bitów, a także, co ważniejsze, z liniową charakterystyką, bez funkcji transferu (nieliniowość przetwornika można zwykle pominąć). Praca ta skupia się jednak na szerszym zagadnieniu rekonstrukcji obrazu HDR z danych otrzymanych po wszystkich czterech etapach na zasadzie czarnej skrzynki, ponieważ takie właśnie warunki są najczęściej spotykane Podsumowanie ograniczeń wynikających z cyfrowej rejestracji obrazu Wykorzystując powyższy opis procesu digitalizacji przy pomocy urządzenia światłoczułego, można wyróżnić dwa główne problemy które stają na drodze odwrócenia całego procesu i odtworzenia pierwotnej dynamiki obserwowanej sceny: Ograniczona dynamika elementu światłoczułego i ograniczona liczba bitów przetwornika analogowo cyfrowego skutkują otrzymywaniem na wyjściu jedynie pewnego wycinka rzeczywistej dynamiki. Wartości poniżej pewnego progu rejestrowane są jako całkowita ciemność, natomiast wartości powyżej progu odcięcia matrycy jako całkowita jasność. Innymi słowy, można tę sytuację przedstawić jako okno pozwalające na rejestrację wycinka rzeczywistej dynamiki. Kluczowym dla dalszej obróbki faktem jest to, że okno to może być przesuwane za pomocą regulacji czasu naświetlania: czym dłuższy czas naświetlania, tym bogatsze w szczegóły ciemne partie obrazu i bardziej prześwietlone jasne obszary, czym krótszy czas naświetlania, tym więcej zachowanych informacji w partiach jasnych, ale jednocześnie utrata informacji w obszarach ciemnych na skutek szumu tła i niedostatecznej rozdzielczości przetwornika. 13

16 2.2. Metoda scalania zdigitalizowanych obrazów Opisana w rozdziale metoda kompozycji obrazu HDRI wykorzystuje wiele obrazów z tak przesuwanym oknem, aby ostatecznie zrekonstruować pierwotną informację o jasności poszczególnych punktów obrazu. Stosowana przez urządzenie funkcja transferu wprowadza nieliniową charakterystykę rejestrowanego obrazu i w efekcie utrudnia opisaną wyżej rekonstrukcję. W tym celu konieczne jest znalezienie funkcji odwrotnej, pozwalającej na odwrócenie dokonanego przekształcenia i powrót do danych liniowych Ilościowy opis zjawisk związanych z rejestracją obrazu Aby zrozumieć metodę rekonstrukcji oryginalnej dynamiki obserwowanej sceny, konieczne jest wcześniejsze ilościowe opisanie zjawisk zachodzących podczas naświetlania elementu światłoczułego. Oznaczmy przez X ekspozycję, to znaczy całkowitą ilość światła jaka dotrze do elementu światłoczułego w trakcie naświetlania. Dla aparatu fotograficznego mamy X = R ( f A r ) 2 t e, (2.2) gdzie: R radiancja 1 dochodząca ze sceny, f ogniskowa obiektywu. A r promień otworu bezwzględnego obiektywu. t e czas naświetlania. Ekspozycja jest więc wprost proporcjonalna do radiancji wejściowej oraz czasu naświetlania i odwrotnie proporcjonalna do powierzchni otworu bezwzględnego obiektywu. Dla poniższej pracy możemy przyjąć stałą ogniskową obiektywu, ponieważ w przypadku zmiennego f dalsze rozważania nie mają sensu (zmiana f powoduje zmianę kąta widzenia, a co za tym idzie, zmianę obserwowanej sceny). Oznaczmy f A r przez N, to znaczy liczbę przysłony, opisującą otwór względny obiektyw. Mamy X = R N 2 t e. (2.3) Oznaczmy teraz R N 2 przez E, czyli irradiancję docierającą do powierzchni elementu światłoczułego. Otrzymujemy liniową zależność ekspozycji od irradiancji i czasu naświetlania: X = E t e. (2.4) Kluczowym wnioskiem z powyższego równania jest to, że poprzez regulację czasu naświetlania możemy liniowo regulować ekspozycję elementu światłoczułego, a co za tym idzie (i co wynika z liniowego charakteru zliczania przez niego fotonów) liniowo regulować jasność otrzymanego obrazu (co przekłada się na przesuwanie opisanego wcześniej okna za pomocą którego następuje rejestracja dynamiki sceny). Podobny efekt można uzyskać za pomocą regulacji liczby przysłony, ze względu jednak na opisane wcześniej efekty optyczne ściśle zależne od wielkości otworu względnego 1 Objaśnienia trudniejszych terminów znajdują się w Dodatku A. 14

17 2.2. Metoda scalania zdigitalizowanych obrazów obiektywu, w przypadku fotografii prowadziłoby to do powstawania obrazów różniących się nie tylko co do jasności, ale także zarejestrowanych kształtów i szczegółów. Stąd dalsze obliczenia zawarte w pracy opierają się o założenie stałej liczby przysłony i zmiennego czasu naświetlania. Wprowadzając opisaną wcześniej funkcję transferu otrzymujemy Z = f (X) = f (E t e ), (2.5) gdzie: Z wyjściowa wartość zapisana w pliku graficznym, f funkcja transferu. Aby zrekonstruować wejściową radiancję sceny (R) konieczne jest więc znalezienie funkcji odwrotnej do funkcji transferu - f 1. Poświęcono temu kolejny rozdział pracy Metody rekonstrukcji krzywej transferu Jak wspomniano wcześniej, kluczowym problemem w odtworzeniu bazowej radiancji poszczególnych pikseli obrazu, konieczna jest rekonstrukcja krzywej transferu modyfikującej liniowe dane wejściowe. Możemy wyróżnić trzy najpopularniejsze metody kalibracji krzywej: 1. Aproksymacja krzywą o dobrze znanym kształcie [6] w metodzie tej przyjmuje się, że krzywa transferu należy do pewnej konkretnej klasy funkcji stosowanych w rejestracji obrazu, a aproksymacji (zwykle za pomocą metody najmniejszych kwadratów) podlegają odpowiednie współczynniki w ogólnym równaniu krzywej. Jako przykład można tu podać funkcje typu f (X) = α + β X γ, (2.6) gdzie: α bias, β czynnik skalujący, γ współczynnik korekcji gamma. Jest to rodzina funkcji opisujących uogólnioną korekcję gamma, opisaną w punkcie Aby wyznaczyć wartość biasu, wystarczy jedno zdjęcie całkowicie czarnej sceny (o X = 0) otrzymana wartość wyjściowa wyznacza współczynnik α. W celu aproksymacji współczynników β i γ wykonuje się serię zdjęć tej samej sceny, przy różnej ekspozycji X (co przy założonej stałej liczbie przysłony sprowadza się do wykonania zdjęć z różnym czasem te). Przy stałej irradiancji E, dla dwóch obrazów mamy R 1,2 = X 1 X 2 = E t 1 E t 2 = t 1 t 2, (2.7) gdzie R m,n to współczynnik proporcjonalności między dwoma obrazami o różnej ekspozycji. 15

18 2.2. Metoda scalania zdigitalizowanych obrazów Następnie obserwacja pojedynczego piksela zarejestrowanego w kilku ekspozycjach pozwala wyznaczyć ciąg Z 0, Z 1,..., Z n zarejestrowanych jasności pikseli na obrazach wyjściowych. Sprowadza się on do ciągu ( ) f (X 0 ), f (X 0 R 1,0 ), f (X 0 R 1,0 R 2,1 ),..., f X 0 R n,n 1, (2.8) gdzie współczynniki R są znane (czas ekspozycji był dobierany świadomie). Wykorzystując wybraną metodę aproksymacji, wyznacza się następnie wartość współczynników β i γ. Zaletą opisanej metody jest niska złożoność algorytmu i gładkość zrekonstruowanej krzywej. Wadami konieczność wcześniejszej znajomości charakteru krzywej transferu, a także niemożność wykrycia lokalnych nieregularności krzywej. 2. Autokalibracja wielomianem uogólnionym [7] metoda ta do aproksymacji przyjmuje rodzinę funkcji postaci N f (X) = c n X n. (2.9) n=0 Aproksymacja działa w procesie iteracyjnym, wyznaczającym: współczynniki proporcjonalności ekspozycji R n,m, stopień wielomianu (N), współczynniki wielomianu (c n ). Różnicą w stosunku do poprzedniej metody jest brak konieczności znajomości współczynników proporcjonalności R, a co za tym idzie parametrów rejestracji zdjęć. Jest to podstawowa zaleta opisanej metody, która pozwala wykorzystać ją wszędzie tam, gdzie parametry ekspozycji nie są znane (na przykład w przypadku prostych kamer internetowych, lub aparatu fotograficznego pracującego w trybie automatycznym, bez zapisu parametrów zdjęcia). Wadą metody jest duża czasochłonność obliczeń oraz skomplikowany schemat iteracyjny, wykorzystujący heurystyki do wyznaczania poszczególnych parametrów. 3. Pełna rekonstrukcja krzywej transferu, opisana w pracy [3] w metodzie tej nie dokonuje się aproksymacji w ustalonej rodzinie funkcji, ale rekonstruuje wartość krzywej odwrotnej dla każdej dopuszczalnej wartości wyjściowej Z (zwykle z przedziału ). Jednocześnie konieczna jest znajomość parametrów ekspozycji. Metoda ta najdokładniej odtwarza krzywą transferu, a także jest stosunkowo szybka. Jej wadą jest konieczność znajomości parametrów ekspozycji, oraz konieczność ręcznego doboru parametrów kalibracji, z uwagi na różny stopień zaszumienia obrazów wejściowych. Ze względu na największe możliwości, metoda ta została zaimplementowana w ramach tworzenia poniższej pracy, a jej dokładny opis wraz z otrzymanymi wynikami znajduje się w kolejnej części pracy Rekonstrukcja krzywej transferu na przykładzie metody Debeveca Malika Rozważmy pojedynczy piksel obserwowanej sceny, przy założeniu łącznej liczby pikseli podlegających próbkowaniu równej N i liczby obrazów źródłowych równej P. n 16

19 2.2. Metoda scalania zdigitalizowanych obrazów Oznaczając przez i numer piksela, a przez j numer zdjęcia otrzymujemy: Poszukiwana funkcja odwrotna to Po zlogarytmowaniu obu stron: Oznaczmy następnie poszukiwane ln f 1 przez g: Z ij = f (X ij ) = f (E i t j ). (2.10) f 1 (Z ij ) = E i t j. (2.11) ln f 1 (Z ij ) = ln E i + ln t j. (2.12) g (Z ij ) = ln E i + ln t j = ln X ij, (2.13) gdzie (dla przypomnienia): Z ij jasność i-tego piksela na obrazie j-tym, E i irradiancja sceny w i-tym pikselu (stała dla wszystkich obrazów, przy założeniu stałej liczby przysłony), t j czas naświetlania j-tego obrazu. Kryterium optymalizacyjne Wykorzystując błąd średniokwadratowy otrzymujemy następujące kryterium optymalizacyjne podlegające minimalizacji: N P O = [g (Z ij ) ln E i ln t j ] 2. (2.14) i=1 j=1 Oznaczmy przedział na którym poszukujemy funkcji odwrotnej przez [Z min, Z max ]. Dla formatu graficznego z ośmiobitowym kodowaniem kanałów mamy Z min = 0, Z max = 255. W celu zniwelowania wpływu szumu na rekonstruowaną funkcję, konieczny jest warunek optymalizacyjny na gładkość funkcji g: O = Z max 1 z=z min +1 [g (z)] 2. (2.15) Przybliżając drugą pochodną funkcji g dla wartości dyskretnych otrzymujemy wzór: g (z) = g (z 1) 2g (z) + g (z + 1). (2.16) Łącząc z głównym warunkiem optymalizacyjnym mamy: N P O = [g (Z ij ) ln E i ln t j ] 2 Z max 1 + λ [g (z)] 2, (2.17) i=1 j=1 z=z min +1 gdzie λ współczynnik gładkości. Funkcja wagowa Jak wspomniano wcześniej, cyfrowa rejestracja obrazu charakteryzuje się szumem tła i odcięciem przy wartości maksymalnej. Oznacza to, że dla 17

20 2.2. Metoda scalania zdigitalizowanych obrazów z bliskich Z min i Z max otrzymane dane będą zwykle zaburzone i wpłyną negatywnie na zrekonstruowaną krzywą. W związku z tym konieczne jest wprowadzenie funkcji wagowej, premiującej Z ij leżące najbliżej środka przedziału [Z min, Z max ] i odrzucającej Z ij przy jego krańcach. Dla celów kalibracji wystarczająca jest prosta funkcja zaproponowana przez Debeveca i Malika: w (z) = { z Zmin dla z 1 2 (Z min + Z max ) Z max z dla z > 1 2 (Z min + Z max ). (2.18) Układ równań Wykorzystując tak zdefiniowaną funkcję wagową otrzymujemy ostateczne kryterium optymalizacyjne: N P O = [w (Z ij ) {g (Z ij ) ln E i ln t j }] 2 Z max 1 + λ [w (z) g (z)] 2. (2.19) i=1 j=1 z=z min +1 Do ustalenia brakuje jeszcze warunku brzegowego ( ) Zmax + Z min g (Z mid ) = g = E 0, (2.20) 2 gdzie E 0 przyjmuje wybraną z góry wartość (zwykle 0). Zauważmy że wszystkie składniki sumy 2.19 są dodatnie, osiąga więc ona minimum, kiedy wszystkie wynoszą 0. Korzystając z tego warunku otrzymujemy układ równań: w (Z ij ) [g (Z ij ) ln E i ] = w (Z ij ) ln t j dla i [1..N], j [1..P ] w (Z ij ) [g (z 1) 2g (z) + g (z + 1)] = 0 dla z [Z min..z max ] g ( ) (2.21) Z max +Z min 2 = E0 Jest to układ nadokreślony (niewiadomych jest tylko Z max Z min + P ) tak więc konieczne jest użycie metody najmniejszych kwadratów w celu znalezienia rozwiązania przybliżonego. W tym celu na potrzeby tej pracy wykorzystano bibliotekę Java Matrix Package udostępniającą odpowiednie funkcje obliczeniowe. Po rozwiązaniu układu otrzymujemy: wartości g (z) = ln (X) dla każdego z z przedziału [Z min, Z max ], wartości lne dla pikseli użytych do kalibracji. Otrzymane wyniki Powyższą metodę zaimplementowano dla danych wejściowych o Z min = 0 i Z max = 255, czyli ośmiobitowego kodowania kanałów barwnych. Dla każdego z kanałów RGB rekonstruowana jest odrębna krzywa transferu, możliwa jest też modyfikacja parametru λ oraz liczby punktów użytych do próbkowania. Pozycje pikseli dobierane są tak, aby tworzyły równomierną siatkę pokrywającą obraz. Na ilustracji 2.1 przedstawiono wynik kalibracji dla aparatu Olympus E-400, czterech obrazów źródłowych, 200 punktów i λ = Synteza HDRI z obrazów o niskiej dynamice Posiadając wiedzę o odwrotnej funkcji transferu, możliwe jest zrekonstruowanie pierwotnej irradiancji sceny i wykorzystanie jej do połączenia kilku obrazów o niskiej dynamice w obraz HDR [3]. Mamy: 18

21 2.2. Metoda scalania zdigitalizowanych obrazów 300 R G B Z log_2 (X) Rysunek 2.1. Zrekonstruowana krzywa transferu dla aparatu fotograficznego Olympus E-400. Stąd: Dla i-tego piksela i j-tego obrazu mamy: g (Z) = ln X = ln E + ln t. (2.22) ln E = g (Z) ln t. (2.23) ln E i = g (Z ij ) ln t j. (2.24) Jednocześnie dla danego piksela E i jest stała, bo nie zależy od parametrów rejestracji obrazu. Uśredniając po wielu obrazach otrzymujemy równość Pj=1 [g (Z ij ) ln t j ] ln E i =. (2.25) P Podobnie jak w przypadku rekonstrukcji krzywej, konieczne okazuje się wprowadzenie funkcji wagowej. Na potrzeby tej pracy wykorzystano funkcję opisaną wcześniej, zmodyfikowaną jednak w następujący sposób: w (z) = Z min dla z < T l z Z min dla T l z 1 (Z 2 min + Z max ) Z max z dla T h z > 1 (Z, (2.26) 2 min + Z max ) Z max dla z > T h 19

22 2.2. Metoda scalania zdigitalizowanych obrazów gdzie: T l odcięcie dolne, T h odcięcie górne. Progi w funkcji wagowej wprowadzono w celu odcięcia zakłóceń w najjaśniejszych i najciemniejszych miejscach obrazu, które nie niosą żadnych istotnych informacji, jednak użycie ich nawet z bardzo małą wagą powoduje powstawanie szumu na obrazie. Uwzględniając funkcję wagową, otrzymujemy równość ln E i = Pj=1 w (Z ij ) [g (Z ij ) ln t j ] Pj=1. (2.27) w (Z ij ) Stąd odtworzona irradiancja piksela i to Rezultaty ( P ) j=1 w (Z ij)[g(z ij) ln t j] P j=1 E i = e w (Z ij). (2.28) Na ilustracjach przedstawiono wyniki działania dla kilku zestawów zdjęć 2. Prezentują one obrazy źródłowe oraz otrzymany w efekcie obraz HDR zaprezentowany przy pomocy adaptacyjnego tonemappera logarytmicznego, opisanego w rozdziale Wszystkie zdjęcia wykorzystane w pracy (z wyłączeniem panoramicznych map HDRI zastosowanych w rozdziale 4.7.1) zostały wykonane samodzielnie przez autora. 20

23 (a) Zdjęcia źródłowe, czasy naświetlania od 1 10 s do s (b) Wynikowy obraz HDR Rysunek 2.2. Rezultaty łączenia zdjęć w obraz HDR (1).

24 2.2. Metoda scalania zdigitalizowanych obrazów (a) Zdjęcia źródłowe, czasy naświetlania od 1 5 s do s (b) Wynikowy obraz HDR Rysunek 2.3. Rezultaty łączenia zdjęć w obraz HDR (2). 22

25 2.2. Metoda scalania zdigitalizowanych obrazów (a) Zdjęcia źródłowe, czasy naświetlania od 1 20 s do s (b) Wynikowy obraz HDR Rysunek 2.4. Rezultaty łączenia zdjęć w obraz HDR (3). 23

26 Rozdział 3 Prezentacja obrazów HDR Zmiennoprzecinkowy format obrazu HDR jest dogodny na etapie przetwarzania i przechowywania danych, jednakże niemożliwy do bezpośredniego wyświetlenia na standardowych urządzeniach wizyjnych. Głównym problemem nie jest jednak konieczność konwersji do formatu stałoprzecinkowego, wymaganego na wyjściu toru przetwarzania karty graficznej, ale inne, dużo poważniejsze ograniczenia, które przedstawiono w poniższym rozdziale Problematyka percepcji ludzkiego oka Istnieją dwa podstawowe problemy związane z prezentacją danych o wysokiej dynamice na standardowych wyświetlaczach: 1. Ograniczona maksymalna luminancja urządzenia 2. Logarytmiczna natura ludzkiego wzroku W kolejnych podrozdziałach opisano szczegółowo powyższe zagadnienia: Ograniczona maksymalna luminancja urządzenia Z każdym urządzeniem wyświetlającym obraz związany jest pewien zakres zdolnej do wyświetlenia luminancji, mierzonej w kandelach na metr kwadratowy (cd/m 2 ). Dla przykładu przeciętny monitor LCD posiada limit maksymalnej luminancji L dmax w zakresie od około 100 do 200 cd/m 2. Dodatkowo dynamika urządzenia (L dmax /L dmin ) to zwykle około 100:1 1000:1 (w przypadku ekranów CRT). Jednocześnie sceny rejestrowane w świecie rzeczywistym mają zwykle dynamikę o wiele rzędów wielkości większą (zwykle :1 do nawet :1), stąd powstaje problem wyświetlenia takich obrazów w taki sposób, aby wrażenie wywoływane przez prezentowany obraz było zbliżone do obserwacji sceny w świecie rzeczywistym. 24

27 Logarytmiczna natura ludzkiego wzroku 3.1. Problematyka percepcji ludzkiego oka Zgodnie z prawem Webera Fechnera ludzka percepcja, w tym wzrokowa, reaguje na bodźce w sposób logarytmiczny. Jednocześnie oko ludzkie jest zdolne do percepcji obrazu o dynamice luminancji :1. Rozważmy scenę o takiej dynamice, jako przybliżony model percepcji przyjmując wzór B = ln (1 + L), (3.1) gdzie B to odczuwana jasność, a L to luminancja danego obszaru. Percepcja źródłowej sceny Wykres 3.1 przedstawia subiektywne odczuwanie jasności dla zakresu luminancji aż do cd/m 2 : Odczuwana jasnosc e+006 Luminancja Rysunek 3.1. Percepcja jasności dla maksymalnej luminancji cd/m 2. Jak widać, poza najciemniejszymi obszarami percepcja jest prawie liniowa i leży w dość wąskim pasie wartości. Taka relacja pomiędzy wejściową luminancją i odczuwaną jasnością jest naturalna dla człowieka. Percepcja wyświetlanego obrazu Przyjmijmy teraz, że scenę tę zarejestrowano w pliku HDRI o wartościach pikseli równych źródłowej luminancji elementów sceny, a następnie zamieniono na plik LDRI (Low Dynamic Range Image) wykorzystując proste mapowanie liniowe ( ) L z = Z max, (3.2) L max 25

28 3.1. Problematyka percepcji ludzkiego oka gdzie: z wyjściowa wartość piksela, Z max maksymalna wartość piksela (dla formatów true color 8bit jest to 256), L luminancja piksela w pliku HDRI, L max luminancja najjaśniejszego piksela w pliku HDRI. Wykres 3.2 obrazuje odczucia związane z obserwacją takiego obrazu wyświetlonego na monitorze o Ldmax = 100 cd/m Odczuwana jasnosc Luminancja Rysunek 3.2. Percepcja jasności dla maksymalnej luminancji cd/m 2. Jak widać zależność jest już wyraźnie nieliniowa, ciemniejsze obszary są zaciemnione. Stąd obszary które w świecie rzeczywistym wydają się mieć zbliżoną jasność (na przykład niebo i ściana budynku na którą nie pada bezpośrednio światło słońca), po wyświetleniu na monitorze wykażą drastyczną różnicę jasności (niebo zachowa jasny odcień, ale ściana będzie się wydawać bardzo ciemna). Efekt ten można także zobaczyć w rozdziale gdzie zaprezentowano działanie liniowego mapowania odcieni, które sprowadza się do sparametryzowania przekształcenia Podsumowanie Jak przedstawiono powyżej, dane o wysokiej dynamice stwarzają trudności w prezentacji za pomocą popularnych urządzeń wizyjnych. Wprawdzie prowadzone są prace nad wyświetlaczami o L dmax liczonej w tysiącach cd/m 2 i kontraście około :1, ale po pierwsze i tak nie gwarantują one doznań takich jak w świecie rzeczywistym, a po 26

29 3.2. Mapowanie odcieni drugie konieczne jest rozwiązanie problemu prezentacji obrazów HDR na istniejących urządzeniach. Problematyce tej poświęcony jest kolejny rozdział, opisujący metody mapowania odcieni Mapowanie odcieni Jak opisano wcześniej, w wyniku logarytmicznego charakteru ludzkiej percepcji niemożliwe jest wyświetlenie obrazu będącego liniowym zapisem świata rzeczywistego. Konieczne jest więc takie przetworzenie danych liniowych, aby efekt w postaci wyświetlanego obrazu jak najlepiej odpowiadał wrażeniom ze świata rzeczywistego. Tak działające algorytmy przetwarzania obrazu nazywane są mapowaniem odcieni lub tonemappingiem (ang.). Można wyróżnić dwie główne grupy takich algorytmów: 1. Operatory globalne (przestrzennie jednorodne) ta grupa algorytmów stosuje jednakowe przekształcenia w przypadku wszystkich pikseli obrazu, co zwykle sprowadza się do skonstruowania pewnej funkcji f (L > L d ) modyfikującej liniowe dane źródłowe. Z tego względu operatory te nazywane są też krzywymi reprodukcji tonów (ang. Tone reproduction curves, TRC). Ich działanie jest szybkie (stąd możliwość zastosowania w przetwarzaniu w czasie rzeczywistym), jednak posiadają ograniczone możliwości. 2. Operatory lokalne (przestrzennie zmienne) algorytmy te operują na poziomie pojedynczych pikseli, stąd ich możliwości są znacznie większe, jednak wymagają znacznie większego nakładu obliczeniowego, przez co nie nadają się do przetwarzania w czasie rzeczywistym. Ich działanie zostanie pokazane na przykładzie gradientowej metody redukcji kontrastu [5] opisanej w punkcie W kolejnych podrozdziałach przedstawiono grupę algorytmów mapowania odcieni, zaczynając od najprostszych, a kończąc na operatorze lokalnym Tonemapper liniowy Pierwszym z opisanych algorytmów mapowania tonów jest tonemapper liniowy. Działanie algorytmu sprowadza się do liniowej prezentacji wybranego zakresu dynamiki źródłowego obrazu. Reprezentuje to przekształcenie z = 0 dla I <= I l Z max I T l T h T l dla I l < I < T h, (3.3) Z max dla I >= T h gdzie: T h - górny próg intensywności, T l - dolny prób intensywności, I - intensywność piksela. Przyjmując za T h i T l odpowiednio największą i najmniejszą wartość pikseli w obrazie otrzymamy po prostu dane HDR dopasowane liniowo do wybranego, ograniczonego zakresu wartości danego formatu graficznego. Oczywiście taka prezentacja HDRI wiąże się z problemami opisanymi w rozdziale Opisane przekształcenie stosuje się do wszystkich kanałów barwnych obrazu. 27

30 3.2. Mapowanie odcieni Rezultaty Na ilustracji 3.3 przedstawiono rezultaty działania tonemappera. Widać na nich jak duży kontrast posiadają obrazy HDRI gdy wyświetlany liniowo jest cały zakres zawartej w nich dynamiki. Zaprezentowano też działanie algorytmu dla wycinków dynamiki, gdzie ujawnia się zaleta tego prostego tonemappera - pozwala on na dokładną analizę konkretnego zakresu, na przykład wyłącznie bardzo jasnych lub bardzo ciemnych obiektów. (a) Wynik dla T h = 6021, T l = 0 (pełna dynamika obrazu) (b) Wynik dla T h = 10, T l = 0 (c) Wynik dla T h = 500, T l = 20 (d) Wynik dla T h = 2000, T l = 1000 Rysunek 3.3. Rezultaty działania tonemappera liniowego Modulacja gamma Jednym z najprostszych algorytmów mapowania tonów w którym dane przekształcane są nieliniowo, jest korekcja gamma, opisana wzorem gdzie: γ współczynnik korekcji, I bazowa wartość piksela, I max wartość maksymalna, ( I I d = I max I max ) 1 γ, (3.4) 28

31 3.2. Mapowanie odcieni I d intensywność po przekształceniach. W przypadku danych o z góry ograniczonej wartości pikseli (na przykład 255 przy kodowaniu 8-bit) jako I max przyjmuje się tę wartość maksymalną, w przypadku danych HDRI wartość najjaśniejszego piksela biorąc pod uwagę wszystkie kanały barwne. Typowa wartość współczynnika γ to 2,2 i taka jest zwykle stosowana, choć parametr ten może zależeć od użytkownika (w tym przypadku wartośc ujemna interpretowana jest zwykle jako odwrotność). Ilustracja 3.4 przedstawia funkcję transformującą zakres [ ] dla kilku przykładowych wartości tego parametru gamma = 4 gamma = 2.2 gamma = 1 gamma = I_d I Rysunek 3.4. Działanie korekcji gamma dla kilku wartości parametru γ. Następnie dokonując kompresji dynamiki do wybranego formatu mamy: z = Z max ( Id I max ). (3.5) Wykorzystanie w procesie pozyskiwania danych Choć zwykle nie nazywany w taki sposób, tonemapper ten znajduje zastosowanie w większości aparatów fotograficznych jako funkcja transferu opisana w rozdziale 2.2.1, ponieważ jest szybki i daje wystarczające efekty w przypadku danych o niewielkiej dynamice. Należy zauważyć, że powszechne stosowanie opisanego algorytmu pozwala na jego wykorzystanie podczas syntezy obrazu HDR z kilku obrazów źródłowych. Można to zrobić na dwa sposoby: 1. Dokonując aproksymacji parametrów krzywej, co opisano w punkcie Podając explicite wartość parametru γ i nie przeprowadzając w ogóle rekonstrukcji krzywej transferu. 29

32 3.2. Mapowanie odcieni Ostatnie rozwiązanie jest najgorsze jakościowo, niemniej pozwala na znaczne uproszczenie całego procesu syntezy. Pozwala także na powrót do przybliżonych danych liniowych w przypadku posiadania pojedynczego obrazu, gdy nie posiadamy możliwości rekonstrukcji rzeczywistej krzywej transferu. Korekcja kontrastu Sama korekcja gamma jest standardowo (poza wykorzystaniem do mapowania odcieni) stosowana do korekcji jasności obrazu, ponieważ powoduje rozjaśnianie lub przyciemnianie pikseli, pozostawiając jednocześnie najwyższą i najniższą wartość bez zmian, przez co obraz nie traci na wyrazistości. Po drobnych modyfikacjach metodę tę można zastosować także do korygowania kontrastu. W tym celu dzieli się przedział [0..I max ] w połowie i do obu części stosuje korekcję gamma o przeciwnych znakach. W ten sposób obszary ciemne stają się ciemniejsze, a jasne jaśniejsze. Korekcję taką zastosowano w rozdziale 4.2. Rezultaty Na obrazach 3.5 zaprezentowano jego działanie dla obrazu HDR dla kilku wartości parametru γ. Jak widać trudno jest uzyskać obraz który jednocześnie nie jest zbyt ciemny, ani zbyt wyblakły. W związku z tym do prezentacji obrazów HDR w praktyce konieczne jest zastosowanie bardziej skomplikowanych funkcji transformujących Tonemapper logarytmiczny W celu uzyskania bardziej realistycznych efektów konieczne jest zastosowanie operatorów bardziej złożonych niż zwykłe potęgowanie oraz wykorzystanie w algorytmie transformacji luminancji zamiast korekcji intensywności poszczególnych kanałów barwnych. Luminancja a intensywnośc pikseli Kanały barwne obrazu są dogodne do jego przekształcania, jednak nie opisują dokładnie wrażenia jasności odbieranego przez człowieka. Ludzkie oko reaguje różnie na różne składowe widma, przez co dwa piksele o łącznej sumarycznej intensywności nie musza koniecznie być odbierane jako tak samo jasne. Rzeczywiste wrażenia wzrokowe odzwierciedla luminancja, wielkość fotometryczna. Z tego powodu dogodne jest operowanie na pojedynczym kanale luminancji, konwertując przestrzeń kolorów RGB na specjalną przestrzeń CIE XYZ[9]. W tym celu dokonuje się przekształcenia liniowego: X Y Z = R G B. (3.6) Składowa Y to właśnie wartość luminancji. Następnie wydziela się składowe chromatyczne xyz opisujące barwę piksela przez obliczenie udziału poszczególnych składowych XYZ w sumarycznej wartości piksela: x = y = X X + Y + Z, (3.7) Y X + Y + Z, (3.8) 30

33 3.2. Mapowanie odcieni (a) Wynik dla γ = 1 (b) Wynik dla γ = 2.2 (c) Wynik dla γ = 4 (d) Wynik dla γ = 7 Rysunek 3.5. Rezultaty działania modulacji gamma. 31

34 3.2. Mapowanie odcieni Z z = X + Y + Z. (3.9) Ich wydzielenie pozwala na zachowanie barw obrazu po transformacji kanału Y. Kolejną operacją jest zastosowanie przekształcenia Y = f (Y ) dokonywanego przez tonemapper. Znając składowe xyz i nową wartość Y można następnie obliczyć nowe składowe X Y Z : X = Y x, (3.10) y Z = Y i dokonać przekształcenia liniowego, odwrotnego do 3.6: R G B = y z (3.11) X Y Z. (3.12) W ten sposób otrzymujemy finalne wartości R G B przekształcone przez algorytm mapowania odcieni. Metoda ta znajduje zastosowanie w tym oraz dwóch kolejnych algorytmach. Funkcja transformująca Rozważmy scenę ze świata rzeczywistego, o maksymalnej luminancji L rmax której po zapisie do pliku graficznego HDR odpowiada wartość L max. Jako że dane w pliku HDRI są liniowe w stosunku do sceny źródłowej, prawdziwy jest stosunek L = L max, L r L rmax (3.13) gdzie: L - luminancja w pliku HDR, L r - luminancja sceny źródłowej. Stąd L r = L L rmax, (3.14) L max co pozwala na przeliczanie wartości luminancji w pliku na wartości ze sceny źródłowej. Rozważmy teraz następującą równość: ln (L d ) ln (L dmax ) = ln ( Lr = L ) L max L rmax. (3.15) ln (L rmax ) Wiąże ona stosunek pomiędzy odczuwaną maksymalną luminancją urządzenia (L dmax ) i poszukiwaną luminancją piksela (L d ) tak, aby był on równy ilorazowi analogicznych odczuwanych przez człowieka wartości ze sceny źródłowej (bazowej luminancji L r i maksymalnej L rmax ). Przekształcając mamy: ln (L d ) = ln (L dmax) ln (L r ). (3.16) ln (L rmax ) 32

35 3.2. Mapowanie odcieni Stąd: L d = e ln(l dmax ) ln(lr) ln(lrmax ). (3.17) Opisane przekształcenie dla kilku wartości parametru L rmax zaprezentowano na wykresie L_rmax = 10^5 L_rmax = 10^6 L_rmax = 10^7 L_rmax = 10^ L_d L Rysunek 3.6. Działanie mapowania logarytmicznego dla kilku wartości parametru L rmax. Konwertując na wybrany format LDR otrzymujemy wzór: z = Z max ( Ld L dmax ). (3.18) Problemem pozostaje określenie wartości L rmax - nie jest ona zwykle dokładnie znana. Można jednak pozostawić ten parametr w gestii użytkownika, który dobierze jego wartość przy którym wrażenie subiektywne jest najbardziej realistyczne. Rezultaty Ilustracje 3.7 i 3.8 przedstawiają działanie tonemappera dla kilku wartości L rmax, jako L dmax przyjęto 100 cd/m 2. Jak widać dobór parametru L rmax ma kluczowe znaczenie dla uzyskania zadowalającego efektu Adaptacyjny tonemapper logarytmiczny W celu ominięcia opisanego powyżej problemu określenia bezwzględnej luminancji sceny źródłowej (L rmax ) można wykorzystać opisany w [4] algorytm mapowania odcieni 33

36 3.2. Mapowanie odcieni (a) Wynik dla L rmax = (b) Wynik dla L rmax = (c) Wynik dla L rmax = (d) Wynik dla L rmax = Rysunek 3.7. Rezultaty działania tonemappera logarytmicznego (1). 34

37 3.2. Mapowanie odcieni (a) Wynik dla Lrmax = (b) Wynik dla Lrmax = (c) Wynik dla Lrmax = (d) Wynik dla Lrmax = Rysunek 3.8. Rezultaty działania tonemappera logarytmicznego (2). 35

38 3.2. Mapowanie odcieni imitujący działanie ludzkiego oka, a dokładnie odruchu źrenicznego. Zjawisko to polega na dostosowaniu średnicy źrenicy oka (a tym samym ilości wpadającego światła) do jasności obserwowanego miejsca. W ten sposób miejsca bardzo jasne są przyciemniane, a bardzo ciemne rozjaśniane, co pozwala na dokładną obserwację scen o bardzo dużej dynamice. Czynnik adaptacji W celu imitacja efektu wprowadza się czynnik skalujący L wa zwany czynnikiem adaptacji. Określa on luminancję punktu wykorzystywanego jako punkt odniesienia (czyli punktu obserwowanego). Wartości L i L max są następnie skalowane przy jego pomocy: L a = L, (3.19) L wa L amax = L max L wa. (3.20) Bias Następnym elementem algorytmu jest funkcja biasu, używana do zmiany charakterystyki wejściowej luminancji. Wygląda ona następująco: b (L) = L log(b) log(0.5), (3.21) gdzie parametr b reguluje siłę kompresji wejściowej dynamiki. Funkcja mapująca Do mapowania odcieni w adaptacyjnym tonemapperze logarytmicznym autorzy proponują następującą funkcję: L L d = dmax 0.01 log 10 (L amax + 1) log (L a + 1) ( ( ) ) ( ) log(b) log 2 + L log(0.5) L max (3.22) Parametr b określa w nim siłę kompresji najjaśniejszych obszarów, czym wyższa jego wartość, tym bardziej są one przyciemnione. Typowe wartości parametru b to Podane przekształcenie zwraca wartości z zakresu [0..1]. Jego działanie dla obrazu o L max = i kilku wartości parametru L wa przedstawia wykres 3.9. Korekcja jasności Problemem powyższej funkcji jest wpływ parametru b na ogólną jasność obrazu. W celu wyeliminowania tej wady, stosuje się skalowanie parametry L wa przy pomocy następującego przekształcenia: L wa = L wa (1 + b 0.85) 5. (3.23) Rezultaty Na ilustracjach przedstawiono wyniki działania algorytmu dla kilku obrazów źródłowych i różnych wartości parametrów tonemappera. Widać na nich jak wartość czynnika adaptacji pozwala na wybór obserwowanego obiektu który staje się najwyraźniejszy, przy czym pozostała część obrazu jest nadal dobrze widoczna. Sprawia to, że jest to najlepszy i najwygodniejszy w użyciu z przedstawionych globalnych operatorów mapowania tonów. 36

39 3.2. Mapowanie odcieni 1 L_wa = 10 L_wa = 100 L_wa = 1000 L_wa = L_d L Rysunek 3.9. Działanie adaptacyjnego tonemappera logarytmicznego dla kilku wartości parametru L wa Redukcja kontrastu w domenie gradientowej Jak wspomniano wcześniej, algorytmem o zupełnie innej zasadzie działania jest metoda redukcji kontrastu oparta o domenę gradientów [5]. Jest to operator lokalny, czyli operujący na poziomie pojedynczych pikseli i nie ograniczający się do globalnej funkcji przekształcającej odcienie. Ideą jego działania jest rozróżnienie dwóch typów kontrastu lokalnego występującego w obrazach HDR: 1. Kontrasty w małej skali występujące pomiędzy małymi szczegółami obrazu 2. Kontrasty w dużej skali występujące między obiektami i wywoływane ich różną ogólną jasnością Algorytm dąży do zachowania szczegółów (czyli kontrastów w małej skali) przy jednoczesnej redukcji kontrastów dużej skali. Jego schemat jest następujący: 1. Obraz przekształcany jest w mapę luminancji, a wynik logarytmowany. 2. Dla otrzymanej mapy obliczane są składowe gradientów G x i G y na różnych poziomach szczegółowości. 3. Tworzona jest mapa wygaszania kontrastów (globalne gradienty są wygaszane, podczas gdy gradienty lokalne pozostają bez zmian, lub są wzmacniane). 4. Mapa gradientów mnożona jest przez mapę wygaszania. 37

40 3.2. Mapowanie odcieni (a) Wynik dla L wa = 2000 (b) Wynik dla L wa = 100 (c) Wynik dla L wa = 20 (d) Wynik dla L wa = 5 Rysunek Rezultaty działania adaptacyjnego tonemappera logarytmicznego dla obrazu HDR o L max =

41 3.2. Mapowanie odcieni (a) Wynik dla L wa = 25 (b) Wynik dla L wa = 3000 Rysunek Rezultaty działania adaptacyjnego tonemappera logarytmicznego dla obrazu HDR o L max =

42 3.2. Mapowanie odcieni (a) Wynik dla L wa = 200 (b) Wynik dla L wa = 9000 Rysunek Rezultaty działania tonemappera dla obrazu HDR o L max =

43 3.2. Mapowanie odcieni 5. Uzyskana wynikowa mapa gradientów jest przekształcana z powrotem w kolorowy obraz pierwotny. W dalszej części tekstu opisano szczegółowo poszczególne fazy działania algorytmu. Tworzenie mapy gradientów Dla każdego z poziomów szczegółowośći 0..d tworzona jest mapa gradientów ( Hk (x + 1, y) H k (x 1, y) H k (x, y) =, H ) k (x, y + 1) H k (x, y 1), (3.24) 2 k+1 2 k+1 gdzie H k - mapa logarytmu luminancji obrazu na k-tym poziomie szczegółowości. Kolejne poziomy tworzone są przez liniowe dwukrotne zmniejszenie wymiarów mapy z poziomu wyższego. Poziom 0 to źródłowa mapa luminancji. Tworzenie mapy wygaszania kontrastów Dla każdego z poziomów szczegółowości k definiuje się operator wygaszania zdefiniowany następująco: ϕ k (x, y) = α H k m H k (x, y) ( ) β Hk (x, y), (3.25) gdzie: α - norma gradientu powyżej której gradienty są wygaszane, a poniżej wzmacniane H k m - średnia wartość normy gradientu w mapie H k β - siła wygaszania (czym niższa, tym wygaszanie gradientów o normie większej niż α silniejsze). Kompletna mapa wygaszania powstaje w wyniku procesu rekurencyjnego α φ d (x, y) = ϕ d (x, y), (3.26) φ k (x, y) = L (φ k+1 ) (x, y) ϕ k (x, y), (3.27) φ (x, y) = ϕ 0 (x, y), (3.28) gdzie L (φ k+1 ) (x, y) to mapa wygaszania powiększona dwukrotnie przy pomocy skalowania dwuliniowego. Tworzenie wynikowej mapy gradientów Finalna mapa gradientów tworzona jest przez pomnożenie każdej składowej gradientu na poziomie 0 przez wartość mapy wygaszania φ w tym miejscu: Znajdowanie obrazu źródłowego G (x, y) = H k (x, y) φ (x, y). (3.29) W celu przekształcenia wynikowej, wygaszonej mapy gradientów w obraz wynikowy, konieczne jest znalezienie takiego rozkładu logarytmu luminancji L, że 2 L = divg. (3.30) 41

44 3.2. Mapowanie odcieni Przybliżając dywergencję gradientów divg dla dwuwymiarowego obrazu mamy divg G x (x, y) G x (x 1, y) + G y (x, y) G y (x, y 1). (3.31) Z kolei laplasjan poszukiwanego obrazu można przybliżyć przez 2 L L (x + 1, y) + L (x 1, y) + L (x, y + 1) + L (x, y 1) 4L (x, y). (3.32) Do znalezienia mapy L na potrzeby tej pracy, użyto następnie metody elementu skończonego z procesem iteracyjnym Gaussa - Seidla z sukcesywną nadrelaksacją [11]. W kolejnych iteracjach obliczane jest σ divg (x, y) L (x, y) = (1 ω) L (x, y) + ω, (3.33) 4 gdzie σ = L (x + 1, y) + L (x 1, y) + L (x, y + 1) + L (x, y 1), a współczynnik relaksacji ω wynosi 1.3. Następnie znaleziona mapa luminancji L out = e L wykorzystywana jest do znalezienia wartości poszczególnych kanałów barwnych obrazu wynikowego zgodnie ze wzorem ( ) I s z = Z max L out, (3.34) Y gdzie: z - wyjściowa intensywność kanału, I - pierwotna intensywność kanału obrazu HDR, Y - luminancja w danym punkcie pierwotnego obrazu HDR, s - współczynnik nasycenia kolorów, im wyższy, tym bardziej kolorowy obraz wynikowy. Autorzy pracy [5] proponują wartość 0.6 i taka też była stosowana przy generacji wyników działania algorytmu. Rezultaty Na ilustracjach przedstawiono rezultaty działania algorytmu dla kilku obrazów źródłowych. Jak widać tonemapper ten nie dąży do uzyskania maksymalnie realistycznego wyniku, pozwala natomiast na bardzo dokładną analizę szczegółów obrazu, na co nie pozwalają opisane wcześniej algorytmy globalne. Dla wartości parametru β bliskich 1 obraz jest jeszcze całkiem realistyczny, dla niższych jego wartości otrzymuje się natomiast bardzo ciekawy efekt przypominający rysunek pastelami. Warto zwrócić uwagę na to, jak dobrze zachowywane są wszystkie lokalne szczegóły obrazu - nie występuje tu w ogóle efekt płaskich jasnych obszarów i cieni. 42

45 3.2. Mapowanie odcieni (a) Wynik działania adaptacyjnego tonemappera logarytmicznego (b) Wynik dla kompresji gradientów z β = 1 (c) Wynik dla kompresji gradientów z β = 0.9 (d) Wynik dla kompresji gradientów z β = 0.8 Rysunek Porównanie wyników działania redukcji kontrastu w domenie gradientów z adaptacyjnym tonemapperem logarytmicznym. 43

46 Rysunek Rezultaty działania silnej redukcji gradientów z parametrem β = 0.8 (1).

47 3.2. Mapowanie odcieni Rysunek Rezultaty działania silnej redukcji gradientów z parametrem β = 0.8 (2). 45

48 Rozdział 4 Zastosowania HDRI W rozdziale tym opisano wybrane zastosowania HDRI w dziedzinie grafiki komputerowej. Zaprezentowano wykorzystanie HDRI w fotografii cyfrowej, korekcji obrazu, a także przedstawiono działanie kilku filtrów graficznych wykorzystujących cechy danych graficznych HDR. Jako ostatnią zaproponowano metodę symulacji oświetlenia na dwuwymiarowym obrazie z wykorzystaniem biblioteki OpenGL Fotografia cyfrowa Dziedziną w której HDRI wprowadza zupełnie nową jakość jest fotografia cyfrowa. Ograniczona dynamika materiałów, a później matryc światłoczułych, była problemem dla fotografów właściwie od zawsze. W celu rejestracji scen o dużym kontraście (na przykład jasnego nieba i ciemniejszych budynków) konieczne było albo stosowanie specjalnych filtrów optycznych, które selektywnie przyciemniają obraz, albo ręczny retusz zdjęcia po jego wywołaniu. Wykorzystanie HDRI pozwala na najbardziej naturalne obejście tego ograniczenia - większość aparatów fotograficznych posiada funkcję autobracketingu, to znaczy automatycznego wykonywania trzech i więcej zdjęć o różnym czasie naświetlania, co pozwala na łatwą rejestrację obrazów źródłowych. Następnie dane te łączone są w obraz HDR, a o tym w jaki sposó zostanie on zaprezentowany decyduje już użytkownik, a nie ograniczenia fizyczne. Większość prezentowanych w poniższej pracy zdjęć HDR byłaby albo niemożliwa, albo bardzo trudna do uzyskania z uzyciem tradycyjnej fotografii tak analogowej jak i cyfrowej. Powstają już pierwsze narzędzia stworzone specjalnie dla fotografów, pozwalające na automatyzację procesu łączenia zdjęć i tonemappingu bez konieczności znajomości aparatu teoretycznego stojącego za tymi zagadnieniami. Można więcj zakładać, że popularnośc HDRI w tej dziedzinie nadal będzie rosnąć. 46

49 4.2. Korekcja tonalna 4.2. Korekcja tonalna Jak to opisano w rozdziale 1.2, standardowe formaty graficzne niosą ze sobą ograniczenia dynamiki i rozdzielczości tonalnej, które wpływają na dokładność i odwracalność operacji graficznych. Poniższa część pracy porównuje w praktyce właściwości HDRI i zwykłych formatów zapisu obrazu w zakresie korekcji tonalnej, czyli podstawowej operacji wykonywanej w obróbce fotografii. Rysunek 4.1. Obraz źródłowy, wykorzystany do operacji korekcji tonalnej. Formaty standardowe Jako podstawę do dalszych rozważań przyjęto format True Color 24bit RGB (8 bitów na kanał barwny). Na obrazku 4.1 przedstawiono zdjęcie źródłowe na którym wykonano następujące operacje: 1. korekcja gamma z parametrem γ = 5, 2. zwiększenie kontrastu z parametrem γ = 5, 3. zwiększenie jasności o wartość 100. Następnie wykonano operacje odwrotne, to znaczy: 1. zmniejszenie jasności o wartość 100, 2. zmniejszenie kontrastu parametrem γ = 5, 3. korekcja gamma z parametrem γ = 5. Rezultaty zaprezentowano na ilustracji 4.2. Jak widać obraz wynikowy nie odpowiada źródłowemu. Wynika to z ograniczeń opisanych w rozdziale 1.2. Zastosowanie HDRI W celu konwersji źródłowego obrazu na format HDR wykorzystano proste mapowanie opisane w rozdziale przyjmując za R wartość 255. Następnie wykonano analogiczne operacje jak w poprzednim paragrafie, co przedstawia ilustracja 4.3 (do prezentacji obrazu wykorzystano tonemapper liniowy, ponieważ dane źródłowe otrzymano z pliku graficznego bez żadnych przekształceń). Widać na niej, że o ile pierwsze trzy operacje dały taki sam efekt, o tyle operacje odwrotne nie spowodowały pojawienia się błędów - udało się odtworzyć pierwotny obraz bez utraty jakości. Wynika to z właściwości HDRI opisanych w rozdziale

50 4.2. Korekcja tonalna (a) Korekcja gamma z parametrem γ = 5 (b) Zwiększenie kontrastu z parametrem γ = 5 (c) Zwiększenie jasności o wartość 100 (d) Zmniejszenie jasności o wartość 100 (e) Zmniejszenie kontrastu parametrem γ = (f) Korekcja gamma z parametrem γ = 5 5 Rysunek 4.2. Rezultaty odwracania operacji korekcyjnych na obrazie LDR. Podsumowanie Opisane powyżej przekształcenia udowadniają, że zastosowanie formatu zmiennoprzecinkowego HDR w miejsce standardowych formatów graficznych LDR pozwala w znaczący sposób usprawnić obróbkę obrazu. Nie tylko pozwala na wielokrotne aplikowanie korekcji tonalnych bez powstawania widocznych błędów, ale 48

51 4.2. Korekcja tonalna (a) Korekcja gamma z parametrem γ = 5 (b) Zwiększenie kontrastu z parametrem γ = 5 (c) Zwiększenie jasności o wartość 100 (d) Zmniejszenie jasności o wartość 100 (e) Zmniejszenie kontrastu parametrem γ = (f) Korekcja gamma z parametrem γ = 5 5 Rysunek 4.3. Rezultaty odwracania operacji korekcyjnych na obrazie HDR. także na pełną odwracalność operacji, co nie jest możliwe przy zastosowaniu formatów stałoprzecinkowych o ustalonej wartości maksymalnej. 49

52 4.3. Symulacja efektu Bloom 4.3. Symulacja efektu Bloom Pierwszym z efektów wykorzystujących cechy HDRI jest Bloom (nazywany także glow - żarzeniem). W warunkach naturalnych powstaje on podczas fotografowania bardzo jasnych obiektów w ciemniejszym otoczeniu i objawia się wylewaniem jasnej obwódki poza kontury obiektu. Jego przyczyną są niedoskonałości optyczne obiektywów, niedostrzegalne w przypadku mniej kontrastowych scen, ale objawiające się w sytuacji opisanej powyżej. Zjawisko takie występuje także w przypadku ludzkiego wzroku. Podstawowe zastosowania efektu to: ciekawe wrażenie estetyczne wzmocnienie wrażenia jasności danego obiektu Algorytm Można wyróżnić trzy fazy działania algorytmu: 1. Odcięcie jasnych obszarów - na podstawie podanej wartości progowej T tworzony jest obraz tymczasowy, powstały przez skopiowanie z obrazu źródłowego tych pikseli, których intensywność przekracza T. Pozostałe punkty pozostają czarne. Powstaje w ten sposób mapa zawierająca wyłącznie jasne elementy obrazu źródłowego. 2. Rozmycie obrazu tymczasowego - mapa zawierająca jasne obszary jest rozmywana przy pomocy wybranego filtra (w implementacji przyjęto rozmywanie metodą Gaussa, to znaczy filtr konwolucyjny wykorzystujący jako kernel macierz o zadanym rozmiarze, wypełnioną rozkładem Gaussa o wybranym odchyleniu standardowym). Ta część algorytmu odpowiada za implementację rozlewania się najjaśniejszych miejsc na zdjęciu. 3. Zsumowanie z obrazem źródłowym - obraz tymczasowy jest sumowany z obrazem źródłowym. Nie jest potrzebne stosowanie średniej ważonej czy normalizacja - w przypadku HDRI po prostu zwiększa się maksymalna luminancja obrazu Tym co czyni format HDR odpowiednim do implementacji efektu Bloom jest jego znacznie większa dynamika niosąca ze sobą możliwość rzeczywistego zapisu w obrazie jasności poszczególnych punktów. W przypadku zwykłych obrazów LDR trudno jest rozróżnić obszary ciemne od jasnych, ponieważ dostępna dynamika to zwykle jedynie [0, 255]. Na obrazach HDR bardzo jasne miejsca są natomiast o wiele rzędów wielkości jaśniejsze od tła, stąd uzyskany efekt jest realistyczny. Rezultaty Na ilustracjach przedstawiono efekt działania filtra dla kilku zdjęć źródłowych i różnych ustawień parametrów. Warto zwrócić uwagę na ilustrację 4.6, dla której przyjęto T = 0, to znaczy rozmyciu podlega cały obraz źródłowy - otrzymano ciekawy efekt zamglenia Realistyczna symulacja efektu Motion Blur Następnym zaprezentowanym filtrem jest symulacja efektu Motion Blur, czyli rozmycia spowodowanego poruszeniem obrazu. Efekt taki występuje podczas wykonywania zdjęć o dłuższym czasie naświetlania, w przypadku kiedy albo porusza się sam aparat, albo obiekt na zdjęciu. Sam efekt Motion Blur jest znany i stosowany w grafice komputerowej od dawna, jednak zastosowanie go w przypadku HDRI daje dodatkowe wrażenie realizmu. W 50

53 4.4. Realistyczna symulacja efektu Motion Blur (a) Obraz źródłowy (b) Obraz po przekształceniu Rysunek 4.4. Wyniki działania efektu Bloom zastosowanego na obrazie HDR (1). 51

54 4.4. Realistyczna symulacja efektu Motion Blur (a) Obraz źródłowy (b) Obraz po przekształceniu Rysunek 4.5. Wyniki działania efektu Bloom zastosowanego na obrazie HDR (2). 52

55 4.4. Realistyczna symulacja efektu Motion Blur (a) Obraz po przekształceniu (b) Obraz po przekształceniu Rysunek 4.6. Wyniki działania efektu Bloom dla T = 0. 53

56 4.5. Symulacja efektu Bokeh przypadku rozmycia jasnego obiektu, np. świateł samochodu, w rzeczywistym efekcie powstaje ostra, wyraźna smuga, odcinająca się od tła. W przypadku efektu komputerowego rozmyte światła nie odcinają sie jednak od tła, ponieważ (z powodu ograniczonej dynamiki) nie są one wystarczająco jaśniejsze od reszty obiektów. Problem ten rozwiązuje użycie obrazów HDR, w których mamy do czynienia ze znacznie większymi kontrastami w porównaniu z formatami LDR. Implementacja Efekt zaimplementowano w następujący sposób: 1. Tworzony jest nowy, pusty obraz o rozmiarach takich jak źródłowy. 2. Każdy piksel obrazu źródłowego kreśli odcinek na obrazie wynikowym o środku w punkcie w którym znajduje się piksel i wartościach takich jak on. 3. Kolejne piksele nie nadpisują wartości w obrazie wynikowym, ale sumują się z nimi. 4. Żeby utrzymywać stały zakres wartości, wartości pikseli w obrazie wynikowym są ostatecznie dzielone przez długość kreślonych odcinków (choć nie jest to absolutnie konieczne). Dodatkowo dodano jeszcze możliwość losowego poruszania pisekal prostopadle do kierunku ruchu, co symuluje drgania ręki fotografa. Zwiększa to realizm uzyskiwanego efektu. Rezultaty Obrazki przedstawiają otrzymane rezultaty dla kilku zdjęć źródłowych i różnych parametrów. Widać wyraźnie, że jasne obszary które odcinają się od tła na zdjęciu źródłowym, pozostają takie po zaaplikowaniu efektu. Dla porównania na obrazku 4.9 zaprezentowano wynik działania filtra w przypadku danych LDR - rozmyte światłą wtapiają się w tło, co czyni efekt nierealistycznym Symulacja efektu Bokeh Kolejnym zaimplementowanym filtrem jest symulacja efektu Bokeh (właściwie jap. Boke, jednak angielska nazwa jest popularniejsza). Zjawisko to związane jest ze skończonym obszarem ostrości obiektywu, opisanym w rozdziale Objawia się ono powstawaniem jasnych, kontrastowych kształtów w miejscu świateł które uległy rozmyciu w obiektywie. Ich kształt pośrednio związany jest z kształtem przysłony obiektywu, choć wynika też z samej konstrukcji optycznej. Ilustracja 4.10 przedstawia rzeczywiste zdjęcie wykonane obiektywem typu Tessar. Widać wyraźnie, że w tle pojawiają się regularne okręgi z charakterystyczną obwódką, widoczne tym silniej im jaśniejsze jest dane miejsce kompozycji. Implementacja Symulację efektu przeprowadzono opierając się na fizycznych podstawach opisanego zjawiska. Światło trafiające do obiektywu z punktu znajdującego się poza ustawioną płąszczyzną ostrości, rysuje na materiale światłoczułym kształt zbliżony do kształtu przysłony obiektywu i o wielkości rosnącej wraz z oddalaniem się od płaszczyzny ostrości. Jest to więc pewna analogia do działania filtrów konwolucyjnych w grafice komputerowej, w których także mamy do czynienia z przekształceniem każdego piksela w pewien wybrany kernel. W związku z tym efekt Bokeh został zasymulowany przy pomocy konwolucji ze specyficznymi dla opisanego zjawiska kernelami. 54

57 4.5. Symulacja efektu Bokeh (a) Obraz źródłowy (b) Obraz po przekształceniu Rysunek 4.7. Wyniki działania efektu Motion Blur zastosowanego na obrazie HDR (1). 55

58 4.5. Symulacja efektu Bokeh (a) Obraz źródłowy (b) Obraz po przekształceniu (c) Obraz źródłowy (d) Obraz po przekształceniu Rysunek 4.8. Wyniki działania efektu Motion Blur zastosowanego na obrazie HDR (2). 56

59 4.5. Symulacja efektu Bokeh (a) Obraz LDR po przekształceniu (b) Obraz LDR po przekształceniu (c) Obraz LDR po przekształceniu Rysunek 4.9. Wyniki działania efektu Motion Blur zastosowanego na obrazach LDR. 57

60 4.5. Symulacja efektu Bokeh Rysunek Przykład rzeczywistego efektu Bokeh. Drugim czynnikiem który odpowiada za pojawianie się wyraźnych kształtów jest dynamika sceny źródłowej. Zastosowanie konwolucji w przypadku obrazu o niskim kontraście daje jedynie efekt rozmycia obrazu z ledwie widocznym kształtem wybranego kernela. Aby w danym miejscu pojawił się efekt Bokeh konieczne jest, aby lokalnie występował tam wysoki kontrast odcinający jasny kształt od tła. Kreślone w tym miejscu obrazy kernela stają się tak jasne, że w efekcie przyjmują wyraźny kształ opisany wcześniej. Właśnie dlatego do realistycznej symulacji Bokeh konieczne jest zastosowanie obrazów HDR w których taki bardzo duży kontrast lokalny występuje. (a) Circular (b) Tessar Rysunek Maski użyte w celu symulacji efektu Bokeh. Na obrazku 4.11 przedstawiono maski (kernele) które zaimplementowano. Są one generowane dynamicznie, dlatego możliwy jest wybór ich rozmiaru przez użytkownika. Rezultaty Na ilustracjach przedstawiono obrazy źródłowe i efekty działania filtra dla dwóch masek. Dodatkowo na ilustracji 4.14 zaprezentowano efekt działania filtra dla obrzu który wcześniej przekształcono w obraz LDR (na podstawie wyniku działania tonemappera). Widać wyraźnie, że otrzymany rezultat jest mało wyraźny i znacznie mniej realistyczny niż w przypadku obrazów o wysokiej dynamice. 58

61 4.5. Symulacja efektu Bokeh (a) Obraz źródłowy (b) Obraz po przekształceniu (c) Obraz źródłowy (d) Obraz po przekształceniu Rysunek Wyniki działania efektu Bokeh zastosowanego na obrazie HDR (1). 59

62 4.5. Symulacja efektu Bokeh (a) Obraz źródłowy (b) Obraz po przekształceniu Rysunek Wyniki działania efektu Bokeh zastosowanego na obrazie HDR (2). 60

63 4.5. Symulacja efektu Bokeh (a) Obraz LDR po przekształceniu (b) Obraz LDR po przekształceniu (c) Obraz LDR po przekształceniu Rysunek Wyniki działania efektu Bokeh zastosowanego na obrazach LDR. 61

64 4.6. Wykrywanie krawędzi w domenie luminancji 4.6. Wykrywanie krawędzi w domenie luminancji Ostatni zaimplementowany efekt z obszaru grafiki 2D dotyczy algorytmów wykrywania krawędzi w obrazie. Standardowo algorytmy takie wykorzystywane są w dziedzinie rozpoznawania obrazów do generacji cech i operują na danych zapisanych w poszczególnych kanałach barwnych. Na potrzeby tej pracy zaimplementowano zbliżony algorytm, działający jednak w oparciu o analizę luminancji, zamiast wykorzystania danych z kanałów barwnych. Wykorzystanie luminancji W odróżnieniu od radiancji (której miarą jest natężenie kanałów barwnych obrazu HDR), która określa natężenie światła w sensie radiometrycznym, luminancja odnosi się do wrażenia zmysłowego odczuwanego przez człowieka, jest więc terminem fotometrycznym. Z powodu nierównomiernego wpływu poszczególnych składowych koloru na wartość luminancji - L = R G B, (4.1) otrzymany wynik łączy w sobie zarówno informacje o natężeniu światła, jak i jego barwie. Metoda wykrywania krawędzi Jako algorytm wykrywający krawędzie wykorzystano operator Sobela działający w oparciu o analizę gradientów. Podstawową różnicą między zwykłym wykrywaniem krawędzi a proponowaną metodą jest to, że działa ona na danych HDR i skupia się na analizie luminancji. Ma to następujące zalety: Możliwość analizy rozkładu jasności w obrazie. Możliwość wykrycia obiektów o barwie zbliżonej do otoczenia, lecz jaśniejszych. Możliwość odróżniania obiektó o tej samej średniej luminancji, ale o różnej barwie. Możliwość otrzymania wyniku działania jako kolejnego obrazu HDR i wykorzystania do jego analizy algorytmów mapowania tonów. Algorytm Zaproponowany algorytm wygląda następująco: 1. Obraz źródłowy przekształcany jest w jednokolorową mapę luminancji HDR przy wykorzystaniu wzoru Dla każdego piksela mapy jasności obliczane są gradienty G x, G y powstałe w wyniku konwolucji z odpowiednimi kernelami: K x = K y = (4.2) (4.3) 3. Dla każdego piksela obliczana jest długość gradientu zgodnie ze wzorem: G = G x 2 + G y 2. (4.4) 62

65 4.6. Wykrywanie krawędzi w domenie luminancji 4. Tworzony jest obraz wynikowy, składający się z długości gradientów w kolejnych punktach mapy luminancji. Rezultaty Na ilustracjach 4.15 i 4.16 przedstawiono działanie algorytmu z wykorzystaniem adaptacyjnego tonemappera logarytmicznego, oraz rezultat klasycznego algorytmu Sobela dla obrazu LDR. Widać na niej jak dobrze zachowywane są jednocześnie szczegóły obiektów, a także ich jasność. Znacznie gorzej radzi sobie algorytm działający na obrazie LDR - rzeczywista różnica jasności nie jest zachowana, a szczegóły obrazu są niewyraźne. (a) Źródłowy obraz HDR (b) Obraz po przekształceniu, L wa = 25 Rysunek Wyniki działania algorytmu wykrywania krawędzi z użyciem kanału luminancji (1). 63

66 4.7. Symulacja oświetlenia przy pomocy HDRI (a) Obraz po przekształceniu, L wa = 1000 (b) Wynik działania algorytmu dla obrazu LDR Rysunek Wyniki działania algorytmu wykrywania krawędzi z użyciem kanału luminancji (2) Symulacja oświetlenia przy pomocy HDRI Ciekawą cechą obrazów HDR otrzymanych przy pomocy metody z rozdziału jest to, że przechowują one komplet informacji o oświetleniu rejestrowanej sceny. Dzieje się tak z powodu wykorzystania rzeczywistych fotografii i rekonstrukcji informacji o irradiancji docierającej do elementu światłoczułego. Pozwala to na zastosowanie tych informacji do symulacji zastanego oświetlenia sceny Symulacja oświetlenia w programach do renderingu 3D Jednym z najstarszych zastosowań HDRI jest właśnie wykorzystanie ich jako źródeł światła w programach do renderingu 3D posługujących się metodami realistycznej 64

67 4.7. Symulacja oświetlenia przy pomocy HDRI symulacji oświetlenia. Wykorzystując panoramiczne, nawijane na wewnętrzną powierzchnię sfery obejmującej całą scenę obrazy HDR możliwe jest bardzo realistyczne symulowanie warunków panujących w źródłowym otoczeniu. Do rejestracji panoramicznych obrazów HDR wykorzystuje się zwykle specjalne oprzyrządowanie w formie kamer z obiektywami superszerokokątnymi, lub specjalne lustrzane kule odbijające w swojej widocznej powierzchni hemisferyczny obraz otoczenia. Na ilustracji 4.17 przedstawiono cztery przykładowe mapy panoramiczne wykorzystane za zgodą Paula Debeveca [2]. Do stworzenia przykładowych renderingów z wykorzystaniem powyższych map wykorzystano następnie pakiet graficzny Autodesk R 3ds max R, przedstawia je ilustracja Rysunek Panoramiczne mapy HDR Symulacja oświetlenia w czasie rzeczywistym Przedstawione powyżej rezultaty są bardzo realistyczne, jednak trudne do uzyskania w przypadku grafiki generowanej w czasie rzeczywistym z powodu konieczności przeliczania oświetlenia pochodzącego z każdego piksela obrazu HDR. W celu ominięcia tej niedogodności można wykorzystać algorytm Median Cut[1] pozwalający na dyskretyzację danych o oświetleniu i znalezienie określonej liczby świateł równoważnych źródłowemu obrazowi. Dyskretyzacja oświetlenia zapisanego w obrazie przy pomocy algorytmu Median Cut Podstawą działania algorytmu median Cut jest podział obrazu na obszary o równej sumarycznej luminancji. Jego schemat wygląda następująco: 1. Obraz przekształcany jest na mapę luminancji przy pomocy równania Tworzony jest obszar bazowy obejmujący cały obraz. 3. W kazdej z k iteracji wykonywane są następujące operacje dla każdego z obszarów: a) Wyszukiwany jest dłuższy bok obszaru. 65

68 4.7. Symulacja oświetlenia przy pomocy HDRI Rysunek Rendering z wykorzystaniem symulacji oświetlenia przy pomocy HDRI. b) Dla każdego z pikseli dłuższego boku sumowana jest luminancja wzdłuż boku krótszego. c) Wyszukiwana jest mediana powyższych sum, wysokość/szerokość na której znaleziono mediane jest miejscem podziału obszaru na dwa podobszary o równej luminancji. 4. Po zakończeniu podziału w każdym z obszarów wyszukiwany jest środek ciężkości i staje się on punktem umiejscowienia światła którego natężenie jest równe sumie natężeń pikseli z danego obszaru. Opisany algorytm jest bardzo szybki i nieskomplikowany. Rezultaty jego działania przedstawiają ilustracje Zastosowanie w OpenGL Opisany powyżej algorytm zastosowano do przygotowania danych dla aplikacji korzystającej z biblioteki OpenGL która wyświetla źródłowe zdjęcie oraz światła zlokalizowane w środkach ciężkości poszczególnych obszarów, a następnie pozwala na obserwację obiektów 3D w ich otoczeniu. Ilustracje przedstawiają zrzuty ekranu z opisanej aplikacji przedstawiające wygląd obiektów 3D w różnych miejscach użytych obrazów. Widać na nich, że 8 świateł (ograniczenie OpenGL) wystarcza do wykreowania oświetlenia dzięki któremu obiekty realistycznie wtapiają się w otoczenie. 66

69 4.7. Symulacja oświetlenia przy pomocy HDRI (a) Podział na obszary (b) Symulacja oświetlenia w Open GL (c) Podział na obszary (d) Symulacja oświetlenia w Open GL Rysunek Rezultaty działania algorytmu Median Cut (1). 67

70 4.7. Symulacja oświetlenia przy pomocy HDRI (a) Podział na obszary (b) Symulacja oświetlenia w Open GL Rysunek Rezultaty działania algorytmu Median Cut (2). 68

71 4.7. Symulacja oświetlenia przy pomocy HDRI (a) Podział na obszary (b) Symulacja oświetlenia w Open GL Rysunek Rezultaty działania algorytmu Median Cut (3). 69

72 Rozdział 5 Dokumentacja Aplikacji Jak wspomniano wcześniej, w ramach niniejszej pracy stworzono aplikację do generacji i przetwarzania obrazów HDR. Poniższy rozdział przedstawia jej budowę i sposób użycia Główne składniki aplikacji Zaimplementowana aplikacja składa się z trzech komponentów: 1. Biblioteki jhdri implementującej większość użytych algorytmów i udostępniającej komplet typów danych umożliwiający tworzenie i przetwarzanie HDRI. 2. Pogramu jhdri Editor wykorzysującego bibliotekę jhdri i umożliwiającego pracę z HDRI w środowisku graficznym. 3. Programu HDR Environment Viewer korzystającego z biblioteki OpenGL i umożliwiającego obserwację wyników działania algorytmu opisanego w rozdziale W kolejnych podrozdziałach dodatku szczegółowo opisano powyższe elementy Biblioteka jhdri Celem powstania biblioteki jhdri było rozdzielenie typów danych i logiki związanej z HDRI od ich konkretnego wykorzystania. Dzięki temu: Znacznie zwiększa się reużywalność kodu. Możliwe jest łatwe i szybkie tworzenie aplikacji wykorzystujących HDRI. Nie ma określonych wymagań co do interfejsu użytkownika, w łatwy sposób można stworzyć aplikację tekstową posiadającą zbliżone możliwości do aplikacji graficznej Wykorzystane technologie Biblioteka jhdri wykorzystuje następujące technologie: 70

73 5.2. Biblioteka jhdri SUN Java język programowania i środowisko w którym została zaimplementowana. Biblioteka JAMA (Java Matrix Package) w wersji do rozwiązywania równań liniowych związanych z algorytmem opisanym w rozdziale Wszystkie pozostałe funkcjonalności biblioteki zostały zaimplementowane własnoręcznie przez autora Składniki biblioteki Biblioteka składa się z czterech głównych części: 1. podstawowych typów danych, 2. interfejsów logiki, 3. implementacji logiki, 4. klas pomocniczych. Podstawowe typy danych W pakiecie jhdri.datatypes znajdują się podstawowe typy danych wykorzystywane w aplikacji: HDRImage - zmiennoprzecinkowy obraz HDR, HDRColour - zmiennoprzecinkowy kolor piksela. Przedstawia je ilustracja 5.1. Interfejsy logiki W celu możliwości łatwej implementacji wielu algorytmów związanych z HDRI wyróżniono następujące interfejsy opisujące elementy przetwarzania obrazu HDR: IHDRIComposer - kompozytor obrazu HDR z kilku obrazów LDR, IResponseCurve - krzywa transferu, IWeightingFunction - funkcja wagowa, IToneMapper - algorytm mapowania odcieni, IHDREffect - efekt graficzny działający na obrazie HDR. Interfejsy te zgrupowane są w pakiecie jhdri.interfaces, co przedstawia ilustracja 5.2. Implementacje logiki Opisane w poprzednim punkcie interfejsy zostały następnie zaimplementowane w pakietach jhdri.logic.composers, jhdri.logic.curves, jhdri.logic.tonemappers, jhdri.effects i jhdri.other. Powstałe klasy są odpowiedzialne za wyniki uzyskane i opisane w ramach poniższej pracy. Strukturę tych klas przedstawiają rysunki Klasy pomocnicze Stworzono także zbiór klas pomocniczych, takich jak: JHDRIConstants - zbiór stałych używanych w bibliotece, JHDRIUtils - klasa implementująca wspólne funkcje podstawowego przetwarzania obrazu HDR (m.in. obliczanie minimum i maksimum intensywności pikseli, normalizację, konwersję do mapy jasności), 71

74 5.2. Biblioteka jhdri Rysunek 5.1. Elementy pakietu jhdri.datatypes. Rysunek 5.2. Elementy pakietu jhdri.interfaces. 72

75 5.2. Biblioteka jhdri Rysunek 5.3. Implementacje interfejsów IWeightingFunction i IResponseCurve. Rysunek 5.4. Przykładowa implementacja interfejsu IHDREffect. 73

76 5.2. Biblioteka jhdri Rysunek 5.5. Przykładowa implementacja interfejsu IToneMapper. 74

77 5.3. Program jhdri Editor ResponseCurveSolver - klasa implementuje metodę rekonstrukcji funkcji transferu opisaną w rozdziale 2.2.5, MedianCut - klasa implementuje algorytm Median Cut opisany w rozdziale Program jhdri Editor W celu praktycznego wykorzystania biblioteki jhdri stworzono graficzną aplikacjęjhdri Editor udostępniającą GUI dla funkcji bibliotecznych. Wykorzystane zostały następujące technologie: SUN Java język programowania i środowisko implementacji, Biblioteka Swing - wykorzystana do stworzenia interfejsu użytkownika, Biblioteka JFreeChart - do prezentacji wykresów Moduły programu Interfejs użytkownika składa się z kilku modułów: Okna głównego. Modułu kompozytora. Modułu kalibracji. Poniżej opisano dokładnie udostępniane użytkownikowi funkcjonalności poszczególnych części programu. Okno główne Ilustracja 5.6 przedstawia główne okno aplikacji. Posiada ono następujące elementy: Rysunek 5.6. Główne okno programu jhdri Editor. 75

78 5.3. Program jhdri Editor zakładki z obrazami HDR i LDR - prezentują one aktualnie załadowane lub wygenerowane obrazy i przełączają kontekst w którym pracuje menu główne, podgląd obrazu HDR w postaci rezultatu działania wybranego algorytmu mapowania odcieni, pasek sterowania metodą tonemappingu - zlokalizowany nad podglądem obrazu. Zawiera on następujące elementy: przycisk LDR -> HDR - powoduje on liniowe przekształcenie podglądu obrazu w format HDR (funkcja wykorzystywana do porównań zachowania efektów graficznych w przypadku obrazów HDR i LDR), listę dostępnych algorytmów mapowania odcieni. Zawiera ona następujące algorytmy: Linear Tonemapper - algorytm mapowania liniowego opisany w części Gamma Tonemapper - modulacja Gamma, opisana w rozdziale 3.2.2, Absolute Logarithmic Tonemapper - tonemapper logarytmiczny, opisany w 3.2.3, Adaptive Logarithmic Tonemapper - adaptacyjny tonemapper logarytmiczny, opisany w części 3.2.4, Gradient Compression Tonemapper - algorytm redukcji gradientów, opisany w rozdziale przycisk Setup wyświetlający okno do podawania parametrów tonemappera - wszystkie parametry opisano dokładnie w rozdziale 3 w części opisującej dane algorytmy, przycisk Render powodujący wyliczenie rezultatu działania algorytmu. pasek informacyjny - jest on zlokalizowany w dolnej części ekranu i prezentuje następujące informacje o wskazanym kursorem pikselu: pozycję piksela w postaci współrzędnych, kolor piksela w obrazie LDR powstałym na skutek mapowania odcieni, kolor piksela w obrazie HDR, wartość luminancji piksela w obrazie HDR. menu File zawierające następujące pozycje: Compose... - uruchamia moduł kompozytora, podmenu Load zawierające opcje: Load HDR Image - ładuje zapisany obraz.hdr, Load LDR Image as HDR - ładuje obraz LDR w formacie (dodać) i przekształca liniowo na format HDR. podmenu Save zawierające opcje: Save HDR Image - zapisuje aktualny obraz w wybranym pliku.hdr, Save LDR Image - zapisuje aktualny podgląd obrazu w formacie bmp. menu Effect zawierającego następujące efekty: Bloom - efekt opisany (wraz z dostępnymi parametrami) w rozdziale 4.3, Sobel Edge Detect - filtr opisany w rozdziale 4.6, Motion Blur - efekt opisany w rozdziale 4.4, Bokeh - efekt opisany w rozdziale 4.5. menu Tools zawierającego narzędzia: Median Cut - narzędzie generuje pliki źródłowe dla programu HDR Environ- 76

79 5.3. Program jhdri Editor ment Viewer przy użyciu algorytmu opisanego w części 4.7.2, użytkownik wybiera plik docelowy i liczbę iteracji; Normalize - pozwala na normalizację obrazu HDR, użytkownik podaje docelową wartość dynamiki; Brightness - dodaje do wszystkich kanałów obrazu ustaloną wartość; Contrast - pozwala na korektę kontrastu zgodnie z metodą opisaną w części 3.2.2; Gamma Correction - przekształca kanały obrazu zgodnie z modulacją Gamma o zadanym parametrze γ, zgodnie z opisem w części 3.2.2; Clip Levels - pozwala na wycięcie części dostępnej dynamiki. Użytkownik podaje górne i dolne ograniczenie na intensywność kanałów, piksele o intensywności mieszczącej się poza tym zakresem zostaną odpowiednio przyciemnione lub rozjaścnione do zadanych wartości granicznych; Show Histograms - prezentuje histogramy obrazu HDR i jego podglądu uzyskanego w wyniku mapowania odcieni. Przykładowe działanie przedstawiono na ilustracji 5.7. Rysunek 5.7. Działanie narzędzia Show Histograms. Moduł kompozytora Ilustracja 5.8 przedstawia okno modułu kompozytora używane do generacji obrazów HDR z kilku obrazów LDR. Składa się on z następujących elementów: tabeli z załadowanymi obrazami LDR, pozwalającej na wpisywanie czasu ekspozycji, 77

80 5.3. Program jhdri Editor Rysunek 5.8. Moduł kompozytora. przycisku Load... pozwalającego na załadowanie jednego lub kilku obrazów LDR, przycisku Remove usuwającego zaznaczone w tabeli obrazy LDR, przycisku Auto zgadującego czas ekspozycji z nazwy pliku. Jeśli plik posiada nazwę postaci <n>.<m>.<rozszerzenie>, to program automatycznie zaproponuje dla niego czas naświetlania równy <n>/<m>o ile obie liczby są różne od zera; przycisku Remove All usuwającego wszystkie obrazy z tabeli, przycisku Compose uruchamiającego proces kompozycji, przycisku Load List... umożliwiającego wczytanie zapisanej wcześniej listy obrazów, przycisku Save List... pozwalającego na zapisanie listy plików LDR na dysku, przycisku Calibrate uruchamiającego dla załadowanych obrazów moduł kalibracji, listy kompozytorów - w obecnej wersji aplikacji zaimplementowano podstawowy kompozytor Base HDRI Composer opisany w rozdziale 2.2.6, listy źródeł odwrotnej krzywej transferu. Dostępne są: Gamma Curve - krzywa typu Gamma, użytkownik podaje wartość współczynnika γ oraz wartości parametrów T l, T h dla funkcji wagowej (wzór 2.26); Complete Curve - użytkownik wybiera plik z zapisaną krzywą transferu stworzony w module kalibratora oraz podaje wartości parametrów T l, T h dla funkcji wagowej. Moduł kalibratora Na ilustracji 5.9 przedstawiono wygląd okna modułu kalibratora służącego do kalibracji krzywej transferu na podstawie serii obrazów LDR, co opisano w rozdziale Zawiera ono następujące elementy: 78

81 5.3. Program jhdri Editor Rysunek 5.9. Moduł kalibratora. 1. pole Lambda pozwalające na podanie wartości parametru λ opisującego wygładzanie krzywej, 2. pole Clip at dające możliwość ustalenia maksymalnej intensywności pikseli źródłowych, powyżej której wartość zrekonstruowanej ekspozycji nie będzie już rosła. Jest to użyteczne w przypadku obrazów źródłowych dla których limit dynamiki jest niższy niż maksymalna wartość ośmiobitowego kodowania kanałów. W takim przypadku zrekonstruowana ekspozycja zaczyna bardzo szybko rosnąć poza dostępną dynamiką i należy zastosować ręczne ograniczenie; 3. pole Points opisujące liczbę punktów podlegającą próbkowaniu, 4. pole Monochromatic pozwalające włączyć uśrednianie wszystkich kanałów w celu minimalizacji błędów w obrazach źródłowych, 5. przycisk Generate uruchamiający obliczenia, 6. przycisk Save zapisujący zrekonstruowaną krzywą do wybranego pliku, 7. przycisk Refresh odświeżający widok po wprowadzeniu zmian doparametrów, 8. wykres przedstawiający zrekonstruowaną krzywą. 79

82 5.4. Program HDR Environment Viewer 5.4. Program HDR Environment Viewer W celu analizy możliwości wykorzystania HDRI do oświetlania obiektów 3D, jak to opisano w części 4.7.2, stworzona została zewnętrzna aplikacja napisana w języku C++, wykorzystująca bibliotekę Open GL. Pozwala ona na wyświetlanie danych wygenerowanych przez narzędzie Median Cut (patrz sekcja Uruchamianie programu Użycie narzędzia Median Cut powoduje wygenerowanie dwóch plików: 1. pliku z danymi o oświetleniu - rozszerzenie.ldf, 2. pliku ze zdjęciem utworzonym na podstawie rezultatu aktualnie ustawionego algorytmu mapowania odcieni - rozszerzenie.bmp. Program HDR Environment Viewer uruchamiany jest z linii poleceń, poprzez wywołanie: viewer.exe ldffilename bmpfilename gdzie ldffilename i bmpfilename to nazwy plików.ldf i.bmp Działanie programu Po uruchomieniu program wyświetla okno z podglądem sceny i obiektem 3D oświetlanym przez punktowe światła wygenerowane przez narzędzie Median Cut. Dostępne są następujące klawisze sterujące programem: kursory - poruszanie obiektem w płaszczyźnie obrazu, F1-F4 - wybór kształtu obiektu, F5 - włączenie lub wyłączenie wyświetlania na ekranie pozycji świateł, End - zakończenie programu. Rysunek Program HDR Environment Viewer w działaniu. Działający program przedstawiono na ilustracji

HDR. Obrazy o rozszerzonym zakresie dynamiki

HDR. Obrazy o rozszerzonym zakresie dynamiki Synteza i obróbka obrazu HDR Obrazy o rozszerzonym zakresie dynamiki Dynamika obrazu Zakres dynamiki (dynamicrange) to różnica między najciemniejszymi i najjaśniejszymi elementami obrazu. W fotografice

Bardziej szczegółowo

Synteza i obróbka obrazu HDR. Obrazy o rozszerzonym zakresie dynamiki

Synteza i obróbka obrazu HDR. Obrazy o rozszerzonym zakresie dynamiki Synteza i obróbka obrazu HDR Obrazy o rozszerzonym zakresie dynamiki Dynamika obrazu Zakres dynamiki (dynamicrange) to różnica między najciemniejszymi i najjaśniejszymi elementami obrazu. W fotografii

Bardziej szczegółowo

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane

Bardziej szczegółowo

Wprowadzenie do technologii HDR

Wprowadzenie do technologii HDR Wprowadzenie do technologii HDR Zajęcia 1 - wprowadzenie do przedmiotu mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 19 lutego 2018 1 / 21 mgr inż. Krzysztof Szwarc Wprowadzenie do technologii

Bardziej szczegółowo

Dodatek B - Histogram

Dodatek B - Histogram Dodatek B - Histogram Histogram to nic innego, jak wykres pokazujący ile elementów od czarnego (od lewej) do białego (prawy koniec histogramu) zostało zarejestrowanych na zdjęciu. Może przedstawiać uśredniony

Bardziej szczegółowo

Przekształcenia punktowe

Przekształcenia punktowe Przekształcenia punktowe Przekształcenia punktowe realizowane sa w taki sposób, że wymagane operacje wykonuje sie na poszczególnych pojedynczych punktach źródłowego obrazu, otrzymujac w efekcie pojedyncze

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

dr inż. Piotr Odya dr inż. Piotr Suchomski

dr inż. Piotr Odya dr inż. Piotr Suchomski dr inż. Piotr Odya dr inż. Piotr Suchomski Podział grafiki wektorowa; matematyczny opis rysunku; małe wymagania pamięciowe (i obliczeniowe); rasteryzacja konwersja do postaci rastrowej; rastrowa; tablica

Bardziej szczegółowo

Grafika rastrowa (bitmapa)-

Grafika rastrowa (bitmapa)- Grafika komputerowa Grafika rastrowa Grafika rastrowa (bitmapa)- sposób zapisu obrazów w postaci prostokątnej tablicy wartości, opisujących kolory poszczególnych punktów obrazu (prostokątów składowych).

Bardziej szczegółowo

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych autor: Robert Drab opiekun naukowy: dr inż. Paweł Rotter 1. Wstęp Zagadnienie generowania trójwymiarowego

Bardziej szczegółowo

Analiza obrazów - sprawozdanie nr 2

Analiza obrazów - sprawozdanie nr 2 Analiza obrazów - sprawozdanie nr 2 Filtracja obrazów Filtracja obrazu polega na obliczeniu wartości każdego z punktów obrazu na podstawie punktów z jego otoczenia. Każdy sąsiedni piksel ma wagę, która

Bardziej szczegółowo

Grafika komputerowa. Dla DSI II

Grafika komputerowa. Dla DSI II Grafika komputerowa Dla DSI II Rodzaje grafiki Tradycyjny podział grafiki oznacza wyróżnienie jej dwóch rodzajów: grafiki rastrowej oraz wektorowej. Różnica pomiędzy nimi polega na innej interpretacji

Bardziej szczegółowo

Wykorzystanie grafiki wektorowej do tworzenia elementów graficznych stron i prezentacji

Wykorzystanie grafiki wektorowej do tworzenia elementów graficznych stron i prezentacji Wykorzystanie grafiki wektorowej do tworzenia elementów graficznych stron i prezentacji grafika rastrowa a grafika wektorowa -13- P SiO 2 Grafika rastrowa - obraz zapisany w tej postaci stanowi układ barwnych

Bardziej szczegółowo

GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej

GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej GRAFIKA RASTROWA WYKŁAD 1 Wprowadzenie do grafiki rastrowej Jacek Wiślicki Katedra Informatyki Stosowanej Grafika rastrowa i wektorowa W grafice dwuwymiarowej wyróżnia się dwa rodzaje obrazów: rastrowe,

Bardziej szczegółowo

Zasady edycji (cyfrowej) grafiki nieruchomej

Zasady edycji (cyfrowej) grafiki nieruchomej Zasady edycji (cyfrowej) grafiki nieruchomej Trudno jest w czasie wykonywania fotografii widzieć i myśleć o wszystkim! Zasady ogólne wykonywania zdjęć (od strony wygody ich późniejszej edycji): 1. maksymalna

Bardziej szczegółowo

Przetwarzanie obrazów rastrowych macierzą konwolucji

Przetwarzanie obrazów rastrowych macierzą konwolucji Przetwarzanie obrazów rastrowych macierzą konwolucji 1 Wstęp Obrazy rastrowe są na ogół reprezentowane w dwuwymiarowych tablicach złożonych z pikseli, reprezentowanych przez liczby określające ich jasność

Bardziej szczegółowo

Akwizycja obrazów. Zagadnienia wstępne

Akwizycja obrazów. Zagadnienia wstępne Akwizycja obrazów. Zagadnienia wstępne Wykorzystane materiały: R. Tadeusiewicz, P. Korohoda, Komputerowa analiza i przetwarzanie obrazów, Wyd. FPT, Kraków, 1997 A. Przelaskowski, Techniki Multimedialne,

Bardziej szczegółowo

Akwizycja obrazów HDR

Akwizycja obrazów HDR Akwizycja obrazów HDR Radosław Mantiuk radoslaw.mantiuk@gmail.com 1 Składanie HDRa z sekwencji zdjęć LDR (1) Seria zdjęć sceny wykonanych z różnymi ustawieniami ekspozycji 2 Składanie HDRa z sekwencji

Bardziej szczegółowo

Cała prawda o plikach grafiki rastrowej

Cała prawda o plikach grafiki rastrowej ~ 1 ~ Cała prawda o plikach grafiki rastrowej Grafika rastrowa to rodzaj grafiki zapisywanej na dysku w postaci bitmapy, czyli zbioru pikseli. W edytorach grafiki rastrowej możliwa jest edycja na poziomie

Bardziej szczegółowo

Analiza i Przetwarzanie Obrazów. Szyfrowanie Obrazów. Autor : Mateusz Nawrot

Analiza i Przetwarzanie Obrazów. Szyfrowanie Obrazów. Autor : Mateusz Nawrot Analiza i Przetwarzanie Obrazów Szyfrowanie Obrazów Autor : Mateusz Nawrot 1. Cel projektu Celem projektu jest zaprezentowanie metod szyfrowania wykorzystujących zmodyfikowane dane obrazów graficznych.

Bardziej szczegółowo

INFORMATYKA WSTĘP DO GRAFIKI RASTROWEJ

INFORMATYKA WSTĘP DO GRAFIKI RASTROWEJ INFORMATYKA WSTĘP DO GRAFIKI RASTROWEJ Przygotowała mgr Joanna Guździoł e-mail: jguzdziol@wszop.edu.pl WYŻSZA SZKOŁA ZARZĄDZANIA OCHRONĄ PRACY W KATOWICACH 1. Pojęcie grafiki komputerowej Grafika komputerowa

Bardziej szczegółowo

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych. Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą

Bardziej szczegółowo

Animowana grafika 3D. Opracowanie: J. Kęsik.

Animowana grafika 3D. Opracowanie: J. Kęsik. Animowana grafika 3D Opracowanie: J. Kęsik kesik@cs.pollub.pl Powierzchnia obiektu 3D jest renderowana jako czarna jeżeli nie jest oświetlana żadnym światłem (wyjątkiem są obiekty samoświecące) Oświetlenie

Bardziej szczegółowo

Podstawy grafiki komputerowej. Teoria obrazu.

Podstawy grafiki komputerowej. Teoria obrazu. WAŻNE POJĘCIA GRAFIKA KOMPUTEROWA - to dział informatyki zajmujący się wykorzystaniem oprogramowania komputerowego do tworzenia, przekształcania i prezentowania obrazów rzeczywistych i wyimaginowanych.

Bardziej szczegółowo

Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 9. Przetwarzanie sygnałów wizyjnych. Politechnika Świętokrzyska.

Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 9. Przetwarzanie sygnałów wizyjnych. Politechnika Świętokrzyska. Politechnika Świętokrzyska Laboratorium Cyfrowe przetwarzanie sygnałów Ćwiczenie 9 Przetwarzanie sygnałów wizyjnych. Cel ćwiczenia Celem ćwiczenia jest zapoznanie studentów z funkcjami pozwalającymi na

Bardziej szczegółowo

Podstawy grafiki komputerowej

Podstawy grafiki komputerowej Podstawy grafiki komputerowej Krzysztof Gracki K.Gracki@ii.pw.edu.pl tel. (22) 6605031 Instytut Informatyki Politechniki Warszawskiej 2 Sprawy organizacyjne Krzysztof Gracki k.gracki@ii.pw.edu.pl tel.

Bardziej szczegółowo

oraz kilka uwag o cyfrowej rejestracji obrazów

oraz kilka uwag o cyfrowej rejestracji obrazów oraz kilka uwag o cyfrowej rejestracji obrazów Matryca CCD i filtry Bayera Matryca CCD i filtry Bayera Demozaikowanie Metody demozaikowania Tradycyjne metody interpolacyjne (nienajlepsze efekty) Variable

Bardziej szczegółowo

1 LEKCJA. Definicja grafiki. Główne działy grafiki komputerowej. Programy graficzne: Grafika rastrowa. Grafika wektorowa. Grafika trójwymiarowa

1 LEKCJA. Definicja grafiki. Główne działy grafiki komputerowej. Programy graficzne: Grafika rastrowa. Grafika wektorowa. Grafika trójwymiarowa 1 LEKCJA Definicja grafiki Dział informatyki zajmujący się wykorzystaniem komputerów do generowania i przetwarzania obrazów (statycznych i dynamicznych) oraz wizualizacją danych. Główne działy grafiki

Bardziej szczegółowo

Wykład II. Reprezentacja danych w technice cyfrowej. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Wykład II. Reprezentacja danych w technice cyfrowej. Studia Podyplomowe INFORMATYKA Podstawy Informatyki Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład II Reprezentacja danych w technice cyfrowej 1 III. Reprezentacja danych w komputerze Rodzaje danych w technice cyfrowej 010010101010 001010111010

Bardziej szczegółowo

Księgarnia internetowa Lubię to!» Nasza społeczność

Księgarnia internetowa Lubię to!» Nasza społeczność Kup książkę Poleć książkę Oceń książkę Księgarnia internetowa Lubię to!» Nasza społeczność Spis treści Rozdział 1. Zastosowanie komputera w życiu codziennym... 5 Rozdział 2. Elementy zestawu komputerowego...13

Bardziej szczegółowo

Gimp Grafika rastrowa (konwersatorium)

Gimp Grafika rastrowa (konwersatorium) GIMP Grafika rastrowa Zjazd 1 Prowadzący: mgr Agnieszka Paradzińska 17 listopad 2013 Gimp Grafika rastrowa (konwersatorium) Przed przystąpieniem do omawiania cyfrowego przetwarzania obrazów niezbędne jest

Bardziej szczegółowo

FORMATY PLIKÓW GRAFICZNYCH

FORMATY PLIKÓW GRAFICZNYCH FORMATY PLIKÓW GRAFICZNYCH Różnice między nimi. Ich wady i zalety. Marta Łukasik Plan prezentacji Formaty plików graficznych Grafika wektorowa Grafika rastrowa GIF PNG JPG SAV FORMATY PLIKÓW GRAFICZNYCH

Bardziej szczegółowo

GRAFIKA. Rodzaje grafiki i odpowiadające im edytory

GRAFIKA. Rodzaje grafiki i odpowiadające im edytory GRAFIKA Rodzaje grafiki i odpowiadające im edytory Obraz graficzny w komputerze Może być: utworzony automatycznie przez wybrany program (np. jako wykres w arkuszu kalkulacyjnym) lub urządzenie (np. zdjęcie

Bardziej szczegółowo

Adam Korzeniewski p Katedra Systemów Multimedialnych

Adam Korzeniewski p Katedra Systemów Multimedialnych Adam Korzeniewski adamkorz@sound.eti.pg.gda.pl p. 732 - Katedra Systemów Multimedialnych camera obscura to pierwowzór aparatu fotograficznego Aparaty cyfrowe to urządzenia optoelektroniczne, które służą

Bardziej szczegółowo

Podstawy Informatyki Wykład V

Podstawy Informatyki Wykład V Nie wytaczaj armaty by zabić komara Podstawy Informatyki Wykład V Grafika rastrowa Paint Copyright by Arkadiusz Rzucidło 1 Wprowadzenie - grafika rastrowa Grafika komputerowa tworzenie i przetwarzanie

Bardziej szczegółowo

Teoria przetwarzania A/C i C/A.

Teoria przetwarzania A/C i C/A. Teoria przetwarzania A/C i C/A. Autor: Bartłomiej Gorczyński Cyfrowe metody przetwarzania sygnałów polegają na przetworzeniu badanego sygnału analogowego w sygnał cyfrowy reprezentowany ciągiem słów binarnych

Bardziej szczegółowo

GSMONLINE.PL. Wybierasz zwykłe zdjęcia, czy w stylu Leica? Akcja. partnerska

GSMONLINE.PL. Wybierasz zwykłe zdjęcia, czy w stylu Leica? Akcja. partnerska GSMONLINE.PL Wybierasz zwykłe zdjęcia, czy w stylu Leica? 2017-05-07 Akcja partnerska Aparat fotograficzny w smartfonie jest obecnie czymś znacznie więcej niż jednym z podzespołów elektronicznych telefonu.

Bardziej szczegółowo

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych Parametryzacja obrazu na potrzeby algorytmów decyzyjnych Piotr Dalka Wprowadzenie Z reguły nie stosuje się podawania na wejście algorytmów decyzyjnych bezpośrednio wartości pikseli obrazu Obraz jest przekształcany

Bardziej szczegółowo

Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy

Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy Wykorzystane materiały: Zadanie W dalszej części prezentacji będzie omawiane zagadnienie rozpoznawania twarzy Problem ten można jednak uogólnić

Bardziej szczegółowo

Obrazy High-Key W fotografiach high-key dominują jasne, delikatnie wyróżnione tony, a oświetlenie sceny jest miękkie.

Obrazy High-Key W fotografiach high-key dominują jasne, delikatnie wyróżnione tony, a oświetlenie sceny jest miękkie. Oryginalna wersja tekstu na stronie www.minoltaphotoworld.com Zone Matching - dopasowanie stref Na atmosferę, charakter i przesłanie zdjęcia znacząco wpływa rozkład jasnych i ciemnych obszarów w kolorystyce

Bardziej szczegółowo

Plan wykładu. Wprowadzenie Program graficzny GIMP Edycja i retusz zdjęć Podsumowanie. informatyka +

Plan wykładu. Wprowadzenie Program graficzny GIMP Edycja i retusz zdjęć Podsumowanie. informatyka + Plan wykładu Wprowadzenie Program graficzny GIMP Edycja i retusz zdjęć Podsumowanie 2 Po co obrabiamy zdjęcia Poprawa jasności, kontrastu, kolorów itp. Zdjęcie wykonano w niesprzyjających warunkach (złe

Bardziej szczegółowo

PROJEKT MULTIMEDIACY

PROJEKT MULTIMEDIACY PROJEKT MULTIMEDIACY PROJEKT MULTIMEDIACY JAK POWSTAJE FOTOGRAFIA CYFROWA 1. PRZEDNIA SOCZEWKA 2. OBIEKTYW 3. ŚWIATŁO SKUPIONE 4. MATRYCA 5. WIZJER 6. SPUST MIGAWKI 7. LAMPA BŁYSKOWA 8. PAMIĘĆ TRYB MANUALNY

Bardziej szczegółowo

Technologie Informacyjne

Technologie Informacyjne Grafika komputerowa Szkoła Główna Służby Pożarniczej Zakład Informatyki i Łączności December 12, 2016 1 Wprowadzenie 2 Optyka 3 Geometria 4 Grafika rastrowa i wektorowa 5 Kompresja danych Wprowadzenie

Bardziej szczegółowo

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych) Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych) Funkcja uwikłana (równanie nieliniowe) jest to funkcja, która nie jest przedstawiona jawnym przepisem, wzorem wyrażającym zależność wartości

Bardziej szczegółowo

Obraz jako funkcja Przekształcenia geometryczne

Obraz jako funkcja Przekształcenia geometryczne Cyfrowe przetwarzanie obrazów I Obraz jako funkcja Przekształcenia geometryczne dr. inż Robert Kazała Definicja obrazu Obraz dwuwymiarowa funkcja intensywności światła f(x,y); wartość f w przestrzennych

Bardziej szczegółowo

Akwizycja obrazów HDR

Akwizycja obrazów HDR Akwizycja obrazów HDR Radosław Mantiuk radoslaw.mantiuk@gmail.com 1 Składanie HDRa z sekwencji zdjęć LDR (1) Seria&zdjęć&sceny&wykonanych&z&różnymi&ustawieniami&ekspozycji& 2 Składanie HDRa z sekwencji

Bardziej szczegółowo

Obróbka grafiki cyfrowej

Obróbka grafiki cyfrowej Obróbka grafiki cyfrowej 1 ROZDZIELCZOŚĆ (ang. resolution) - oznacza ilość malutkich punktów, które tworzą widzialny znak w druku bądź na ekranie monitora Typowe rozdzielczości monitorów komputerowych

Bardziej szczegółowo

Akademia Górniczo-Hutnicza

Akademia Górniczo-Hutnicza Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Kalibracja systemu wizyjnego z użyciem pakietu Matlab Kraków, 2011 1. Cel kalibracji Cel kalibracji stanowi wyznaczenie parametrów określających

Bardziej szczegółowo

Podstawy Informatyki

Podstawy Informatyki Podstawy Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 5 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 5 1 / 23 LICZBY RZECZYWISTE - Algorytm Hornera

Bardziej szczegółowo

Definicje i przykłady

Definicje i przykłady Rozdział 1 Definicje i przykłady 1.1 Definicja równania różniczkowego 1.1 DEFINICJA. Równaniem różniczkowym zwyczajnym rzędu n nazywamy równanie F (t, x, ẋ, ẍ,..., x (n) ) = 0. (1.1) W równaniu tym t jest

Bardziej szczegółowo

Plan wykładu. Wprowadzenie Program graficzny GIMP Edycja i retusz zdjęć Podsumowanie. informatyka +

Plan wykładu. Wprowadzenie Program graficzny GIMP Edycja i retusz zdjęć Podsumowanie. informatyka + Plan wykładu Wprowadzenie Program graficzny GIMP Edycja i retusz zdjęć Podsumowanie 2 Wprowadzenie Po co obrabiamy zdjęcia Obrazy wektorowe i rastrowe Wielkość i rozdzielczość obrazu Formaty graficzne

Bardziej szczegółowo

Operacje przetwarzania obrazów monochromatycznych

Operacje przetwarzania obrazów monochromatycznych Operacje przetwarzania obrazów monochromatycznych Obraz pobrany z kamery lub aparatu często wymaga dalszej obróbki. Jej celem jest poprawienie jego jakości lub uzyskaniem na jego podstawie określonych

Bardziej szczegółowo

Ćwiczenie 6. Transformacje skali szarości obrazów

Ćwiczenie 6. Transformacje skali szarości obrazów Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 6. Transformacje skali szarości obrazów 1. Obraz cyfrowy Obraz w postaci cyfrowej

Bardziej szczegółowo

Grafika na stronie www

Grafika na stronie www Grafika na stronie www Grafika wektorowa (obiektowa) To grafika której obraz jest tworzony z obiektów podstawowych najczęściej lini, figur geomtrycznych obrazy są całkowicie skalowalne Popularne programy

Bardziej szczegółowo

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j Kompresja transformacyjna. Opis standardu JPEG. Algorytm JPEG powstał w wyniku prac prowadzonych przez grupę ekspertów (ang. Joint Photographic Expert Group). Prace te zakończyły się w 1991 roku, kiedy

Bardziej szczegółowo

Pomiar światła w aparatach cyfrowych w odniesieniu do histogramu.

Pomiar światła w aparatach cyfrowych w odniesieniu do histogramu. Pomiar światła w aparatach cyfrowych w odniesieniu do histogramu. POMIAR ŚWIATŁA Tylko poprawnie naświetlone zdjęcie będzie miało wiernie odtworzone kolory, cienie i półcienie. Wykonanie takiego zdjęcia

Bardziej szczegółowo

Grafika komputerowa. Oko posiada pręciki (100 mln) dla detekcji składowych luminancji i 3 rodzaje czopków (9 mln) do detekcji koloru Żółty

Grafika komputerowa. Oko posiada pręciki (100 mln) dla detekcji składowych luminancji i 3 rodzaje czopków (9 mln) do detekcji koloru Żółty Grafika komputerowa Opracowali: dr inż. Piotr Suchomski dr inż. Piotr Odya Oko posiada pręciki (100 mln) dla detekcji składowych luminancji i 3 rodzaje czopków (9 mln) do detekcji koloru Czerwony czopek

Bardziej szczegółowo

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30 Wykład 4 mgr inż. 1/30 Synteza grafiki polega na stworzeniu obrazu w oparciu o jego opis. Synteza obrazu w grafice komputerowej polega na wykorzystaniu algorytmów komputerowych do uzyskania obrazu cyfrowego

Bardziej szczegółowo

Przetwarzanie obrazu

Przetwarzanie obrazu Przetwarzanie obrazu Przekształcenia kontekstowe Liniowe Nieliniowe - filtry Przekształcenia kontekstowe dokonują transformacji poziomów jasności pikseli analizując za każdym razem nie tylko jasność danego

Bardziej szczegółowo

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone

Bardziej szczegółowo

Diagnostyka obrazowa

Diagnostyka obrazowa Diagnostyka obrazowa Ćwiczenie drugie Podstawowe przekształcenia obrazu 1 Cel ćwiczenia Ćwiczenie ma na celu zapoznanie uczestników kursu Diagnostyka obrazowa z podstawowymi przekształceniami obrazu wykonywanymi

Bardziej szczegółowo

Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy prosty i skuteczny.

Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy prosty i skuteczny. Filtracja nieliniowa może być bardzo skuteczną metodą polepszania jakości obrazów Filtry nieliniowe Filtr medianowy Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy

Bardziej szczegółowo

Proste metody przetwarzania obrazu

Proste metody przetwarzania obrazu Operacje na pikselach obrazu (operacje punktowe, bezkontekstowe) Operacje arytmetyczne Dodanie (odjęcie) do obrazu stałej 1 Mnożenie (dzielenie) obrazu przez stałą Operacje dodawania i mnożenia są operacjami

Bardziej szczegółowo

Pomiar rezystancji metodą techniczną

Pomiar rezystancji metodą techniczną Pomiar rezystancji metodą techniczną Cel ćwiczenia. Poznanie metod pomiarów rezystancji liniowych, optymalizowania warunków pomiaru oraz zasad obliczania błędów pomiarowych. Zagadnienia teoretyczne. Definicja

Bardziej szczegółowo

Grafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38

Grafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38 Wykład 5 Potok Renderowania Oświetlenie mgr inż. 1/38 Podejście śledzenia promieni (ang. ray tracing) stosuje się w grafice realistycznej. Śledzone są promienie przechodzące przez piksele obrazu wynikowego

Bardziej szczegółowo

Filtracja obrazu operacje kontekstowe

Filtracja obrazu operacje kontekstowe Filtracja obrazu operacje kontekstowe Podział metod filtracji obrazu Metody przestrzenne i częstotliwościowe Metody liniowe i nieliniowe Główne zadania filtracji Usunięcie niepożądanego szumu z obrazu

Bardziej szczegółowo

Grafika rastrowa i wektorowa

Grafika rastrowa i wektorowa Grafika rastrowa i wektorowa Jakie są różnice między grafiką rastrową a wektorową? Podaj przykłady programów do pracy z grafiką rastrową/wektorową? Czym są RGB, CMYK? Gdzie używamy modelu barw RGB/CMYK?

Bardziej szczegółowo

GRAFIKA RASTROWA GRAFIKA RASTROWA

GRAFIKA RASTROWA GRAFIKA RASTROWA GRAFIKA KOMPUTEROWA GRAFIKA RASTROWA GRAFIKA RASTROWA (raster graphic) grafika bitmapowa: prezentacja obrazu za pomocą pionowo-poziomej siatki odpowiednio kolorowanych pikseli na monitorze komputera, drukarce

Bardziej szczegółowo

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do 0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do obserwatora f) w kierunku od obserwatora 1. Obrót dookoła osi

Bardziej szczegółowo

BIBLIOTEKA PROGRAMU R - BIOPS. Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat

BIBLIOTEKA PROGRAMU R - BIOPS. Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat BIBLIOTEKA PROGRAMU R - BIOPS Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat Biblioteka biops zawiera funkcje do analizy i przetwarzania obrazów. Operacje geometryczne (obrót, przesunięcie,

Bardziej szczegółowo

Jak przygotować pliki gotowe do publikacji w sieci za pomocą DigitLabu?

Jak przygotować pliki gotowe do publikacji w sieci za pomocą DigitLabu? Jak przygotować pliki gotowe do publikacji w sieci za pomocą DigitLabu? Po zainstalowaniu DigitLabu na komputerze otrzymujemy pakiet programów niezbędnych do przygotowania cyfrowych wersji obiektów tekstowych.

Bardziej szczegółowo

Teoria światła i barwy

Teoria światła i barwy Teoria światła i barwy Powstanie wrażenia barwy Światło może docierać do oka bezpośrednio ze źródła światła lub po odbiciu od obiektu. Z oka do mózgu Na siatkówce tworzony pomniejszony i odwrócony obraz

Bardziej szczegółowo

Simp-Q. Porady i wskazówki

Simp-Q. Porady i wskazówki Simp-Q Porady i wskazówki ROZWÓJ ZESTAWÓW BEZCIENIOWYCH Pierwsza generacja Najnowsza generacja Profesjonalne studio idealne dla zawodowych fotografów. Zestawy bezcieniowe Simp-Q to rewolucyjne i kompletne

Bardziej szczegółowo

Grafika komputerowa. Zajęcia IX

Grafika komputerowa. Zajęcia IX Grafika komputerowa Zajęcia IX Ćwiczenie 1 Usuwanie efektu czerwonych oczu Celem ćwiczenia jest usunięcie efektu czerwonych oczu u osób występujących na zdjęciu tak, aby plik wynikowy wyglądał jak wzor_1.jpg

Bardziej szczegółowo

Grafika Komputerowa Wybrane definicje. Katedra Informatyki i Metod Komputerowych Uniwersytet Pedagogiczny im. KEN w Krakowie apw@up.krakow.

Grafika Komputerowa Wybrane definicje. Katedra Informatyki i Metod Komputerowych Uniwersytet Pedagogiczny im. KEN w Krakowie apw@up.krakow. Grafika Komputerowa Wybrane definicje Katedra Informatyki i Metod Komputerowych Uniwersytet Pedagogiczny im. KEN w Krakowie apw@up.krakow.pl Spis pojęć Grafika komputerowa Grafika wektorowa Grafika rastrowa

Bardziej szczegółowo

Zad. 3: Układ równań liniowych

Zad. 3: Układ równań liniowych 1 Cel ćwiczenia Zad. 3: Układ równań liniowych Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Definiowanie właściwego interfejsu klasy. Zwrócenie uwagi na dobór odpowiednich

Bardziej szczegółowo

Dopasowywanie modelu do danych

Dopasowywanie modelu do danych Tematyka wykładu dopasowanie modelu trendu do danych; wybrane rodzaje modeli trendu i ich właściwości; dopasowanie modeli do danych za pomocą narzędzi wykresów liniowych (wykresów rozrzutu) programu STATISTICA;

Bardziej szczegółowo

Politechnika Świętokrzyska. Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 8. Filtracja uśredniająca i statystyczna.

Politechnika Świętokrzyska. Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 8. Filtracja uśredniająca i statystyczna. Politechnika Świętokrzyska Laboratorium Cyfrowe przetwarzanie sygnałów Ćwiczenie 8 Filtracja uśredniająca i statystyczna. Cel ćwiczenia Celem ćwiczenia jest zdobycie umiejętności tworzenia i wykorzystywania

Bardziej szczegółowo

Techniki animacji komputerowej

Techniki animacji komputerowej Techniki animacji komputerowej 1 Animacja filmowa Pojęcie animacji pochodzi od ożywiania i ruchu. Animować oznacza dawać czemuś życie. Słowem animacja określa się czasami film animowany jako taki. Animacja

Bardziej szczegółowo

Techniki multimedialne

Techniki multimedialne Techniki multimedialne Digitalizacja podstawą rozwoju systemów multimedialnych. Digitalizacja czyli obróbka cyfrowa oznacza przetwarzanie wszystkich typów informacji - słów, dźwięków, ilustracji, wideo

Bardziej szczegółowo

Antyaliasing w 1 milisekundę. Krzysztof Kluczek

Antyaliasing w 1 milisekundę. Krzysztof Kluczek Antyaliasing w 1 milisekundę Krzysztof Kluczek Zasada działania Założenia: Metoda bazująca na Morphological Antialiasing (MLAA) wejście: obraz wyrenderowanej sceny wyjście: zantyaliasowany obraz Krótki

Bardziej szczegółowo

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika Wielkości liczbowe Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Wprowadzenie, liczby naturalne Komputer to podstawowe narzędzie do wykonywania obliczeń Jeden bajt reprezentuje 0 oraz liczby naturalne

Bardziej szczegółowo

Budowa i zasada działania skanera

Budowa i zasada działania skanera Budowa i zasada działania skanera Skaner Skaner urządzenie służące do przebiegowego odczytywania: obrazu, kodu paskowego lub magnetycznego, fal radiowych itp. do formy elektronicznej (najczęściej cyfrowej).

Bardziej szczegółowo

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a TEMATYKA: Krzywe Bézier a Ćwiczenia nr 7 DEFINICJE: Interpolacja: przybliżanie funkcji za pomocą innej funkcji, zwykle wielomianu, tak aby były sobie równe w zadanych punktach. Poniżej przykład interpolacji

Bardziej szczegółowo

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Grażyna Koba MIGRA 2019 Spis treści (propozycja na 2*32 = 64 godziny lekcyjne) Moduł A. Wokół komputera i sieci komputerowych

Bardziej szczegółowo

Katalog dobrych praktyk digitalizacyjnych dla obiektów bibliotecznych

Katalog dobrych praktyk digitalizacyjnych dla obiektów bibliotecznych Katalog dobrych praktyk digitalizacyjnych dla obiektów bibliotecznych Lp. Kryteria Obiekt Biblioteczny 1. Procedury, obejmujące: 1. selekcję wybór materiału, który zostanie poddany digitalizacji; selekcji

Bardziej szczegółowo

0 + 0 = 0, = 1, = 1, = 0.

0 + 0 = 0, = 1, = 1, = 0. 5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,

Bardziej szczegółowo

SYSTEMY LICZBOWE. SYSTEMY POZYCYJNE: dziesiętny (arabski): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M

SYSTEMY LICZBOWE. SYSTEMY POZYCYJNE: dziesiętny (arabski): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M SYSTEMY LICZBOWE SYSTEMY POZYCYJNE: dziesiętny (arabski):,, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M System pozycyjno wagowy: na przykład liczba 444 4 4 4 4 4 4 Wagi systemu dziesiętnego:,,,,...

Bardziej szczegółowo

Grafika Komputerowa Wykład 1. Wstęp do grafiki komputerowej Obraz rastrowy i wektorowy. mgr inż. Michał Chwesiuk 1/22

Grafika Komputerowa Wykład 1. Wstęp do grafiki komputerowej Obraz rastrowy i wektorowy. mgr inż. Michał Chwesiuk 1/22 Wykład 1 Wstęp do grafiki komputerowej rastrowy i wektorowy mgr inż. 1/22 O mnie mgr inż. michalchwesiuk@gmail.com http://mchwesiuk.pl Materiały, wykłady, informacje Doktorant na Wydziale Informatyki Uniwersytetu

Bardziej szczegółowo

Warstwa Rysunek bitmapowy Rysunek wektorowy

Warstwa Rysunek bitmapowy Rysunek wektorowy Warstwa - powierzchnia robocza w programie graficznym. Jest obszarem roboczym o określonych rozmiarach, położeniu i stopniu przeźroczystości. Warstwę należy traktować jako przeźroczystą folię na której

Bardziej szczegółowo

Przetworniki cyfrowo analogowe oraz analogowo - cyfrowe

Przetworniki cyfrowo analogowe oraz analogowo - cyfrowe Przetworniki cyfrowo analogowe oraz analogowo - cyfrowe Przetworniki cyfrowo / analogowe W cyfrowych systemach pomiarowych często zachodzi konieczność zmiany sygnału cyfrowego na analogowy, np. w celu

Bardziej szczegółowo

Monitory LCD (ang. Liquid Crystal Display) (1)

Monitory LCD (ang. Liquid Crystal Display) (1) Monitory LCD (ang. Liquid Crystal Display) (1) Monitor ciekłokrystaliczny (typu TN, ang. Twisted Nematic) Ciekły kryszła powoduje zmianę polaryzacji światła w zależności od przyłożonego do niego napięcia.

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4

Algorytmy i struktury danych. Wykład 4 Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych

Bardziej szczegółowo

Krótki kurs podstaw fotografii Marcin Pazio, 201 4

Krótki kurs podstaw fotografii Marcin Pazio, 201 4 Krótki kurs podstaw fotografii Marcin Pazio, 201 4 Za wikipedią: Fotografia (gr. φως, phōs, D. phōtós światło; gráphō piszę, graphein rysować, pisać; rysowanie za pomocą światła) zbiór wielu różnych technik,

Bardziej szczegółowo

Mobilny system pomiaru luminancji LMK - CCD

Mobilny system pomiaru luminancji LMK - CCD Wydział Transportu Politechniki Warszawskiej Gmach Nowej Kreślarni p.220 ul. Koszykowa 75 00-662 Warszawa tel.22 234 77 52 www.it.pw.edu.pl dr inż. Piotr Tomczuk; email:ptomczuk@it.pw.edu.pl dr inż. Krzysztof

Bardziej szczegółowo

POPRAWIANIE JAKOŚCI OBRAZU W DZIEDZINIE PRZESTRZENNEJ (spatial image enhancement)

POPRAWIANIE JAKOŚCI OBRAZU W DZIEDZINIE PRZESTRZENNEJ (spatial image enhancement) POPRAWIANIE JAKOŚCI OBRAZU W DZIEDZINIE PRZESTRZENNEJ (spatial image enhancement) Przetwarzanie obrazów cyfrowych w celu wydobycia / uwydatnienia specyficznych cech obrazu dla określonych zastosowań. Brak

Bardziej szczegółowo

Podstawowe funkcje przetwornika C/A

Podstawowe funkcje przetwornika C/A ELEKTRONIKA CYFROWA PRZETWORNIKI CYFROWO-ANALOGOWE I ANALOGOWO-CYFROWE Literatura: 1. Rudy van de Plassche: Scalone przetworniki analogowo-cyfrowe i cyfrowo-analogowe, WKŁ 1997 2. Marian Łakomy, Jan Zabrodzki:

Bardziej szczegółowo

Komentarz fototechnik 313[01]-01-06 Czerwiec 2009 Rozwiązanie zadania egzaminacyjnego podlegało ocenie w zakresie następujących elementów pracy:

Komentarz fototechnik 313[01]-01-06 Czerwiec 2009 Rozwiązanie zadania egzaminacyjnego podlegało ocenie w zakresie następujących elementów pracy: Rozwiązanie zadania egzaminacyjnego podlegało ocenie w zakresie następujących elementów pracy: I. Tytuł pracy egzaminacyjnej. II. Założenia wynikające z treści zadania i załączonej dokumentacji III. Wykaz

Bardziej szczegółowo

Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza 30

Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza 30 Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza 30 2.3. Model rastrowy Rastrowy model danych wykorzystywany jest dla gromadzenia i przetwarzania danych pochodzących ze skanowania istniejących

Bardziej szczegółowo

Autodesk 3D Studio MAX Teksturowanie modeli 3D

Autodesk 3D Studio MAX Teksturowanie modeli 3D Autodesk 3D Studio MAX Teksturowanie modeli 3D dr inż. Andrzej Czajkowski Instyt Sterowania i Systemów Informatycznych Wydział Informatyki, Elektrotechniki i Automatyki 25 kwietnia 2017 1 / 20 Plan Wykładu

Bardziej szczegółowo