1 / 29

Geometria obrazu Wykład 13

Geometria obrazu Wykład 13. Tekstury. Projekcje. Proces teksturowania. Mapowanie. Filtrowanie. Mozaikowanie. Deformacja. Przekształcanie. Wstawianie. Zlewanie. Maskowanie. Siatka wielokątowa i cieniowanie pozwalają jedynie zobrazować kształt obiektu.

nicole-head
Download Presentation

Geometria obrazu Wykład 13

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Geometria obrazuWykład 13 • Tekstury. • Projekcje. • Proces teksturowania. • Mapowanie. • Filtrowanie. • Mozaikowanie. • Deformacja. • Przekształcanie. • Wstawianie. • Zlewanie. • Maskowanie.

  2. Siatka wielokątowa i cieniowanie pozwalają jedynie zobrazować kształt obiektu. Teksturą nazywa się charakterystyczne dla danego materiału powtarzalne wzory na powierzchni przedmiotów, jak np. słoje drewna. W grafice jest to pewien obraz, który nakłada się na wielokątową siatkę obiektu w celu przedstawienia szczegółów powierzchni obiektów przestrzennych . Tekstury niosą informacje o barwie powierzchni oraz innych parametrach generowanego obrazu związanych np. z modelem oświetlenia takich jak: współczynnik załamania światła , barwa światła odbitego, rozproszonego, stopień przezroczystości. Możemy wyróżnić dwa rodzaje tekstur: • Tekstury bitmapowe – obrazy rastrowe rzutowane na dany obiekt. • Tekstury proceduralne – obrazy, które są tworzone na podstawie określonych procedur matematycznych .

  3. Tekstury proceduralne charakteryzuje duża dokładność, gdyż w przeciwieństwie do tekstur bitmapowych, parametry punktu są funkcjami współrzędnych rzeczy-wistych (dwu- lub trójwymiarowych) , a nie całkowitych. Istotna jest też możliwość animacji tych parametrów (np. kolorów). Przykłady tekstur proceduralnych: • szachownica, • mur, plaster miodu, • marmur, • drewno, • spirale i inne twory geometryczne. [google]

  4. W przypadku tekstury bitmapowej możemy wyróżnić trzy jej atrybuty: • obraz, który będzie nakładany i jego kształt, • powierzchnię, na którą nakładamy obraz, • efekt widoczny na ekranie. Powstaje problem – co, skąd i jak rzutować ? [google]

  5. Zazwyczaj obraz umieszczamy możliwie blisko powierzchni, na którą będzie rzutowany a następnie dobieramy możliwie najlepszy sposób rzutowania, który zapewni nam największy realizm rzutu. [google]

  6. Przykłady. Projekcja sferyczna. Projekcja cylindryczna. Projekcja płaska. [http://wiki.ega.org.pl/index.php?title=Reprezentacja_tekstur_na_modelu]

  7. Proces teksturowania. • Przygotowanie tekstury. • Mapowanie tekstury – zdefiniowanie odwzorowania obrazu na obiekt. • Filtrowanie tekstury – poprawianie jakości tekstury. • Renderowanie sceny. Mapowanie tekstury. • Współrzędne tekstury są unormowane (ograniczone do przedziału [0, 1]). • Dla każdego werteksa siatki znajdujemy odpowiednie współrzędne tekstury. • Dla współrzędnych z przedziału (0, 1) – wycinamy fragment tekstury. • Gdy współrzędne są większe od 1, to tekstura jest powielana.

  8. MIP mapping. Jest to metoda polegająca na przechowywaniu kilku wersji (zwykle 8) tekstury o różnych rozdzielczościach. Obiekt trójwymiarowy pokrywamy teksturą, której rozdzielczość jest wystarczająca do reprezentowania tego obiektu obserwowanego z pewnej odległości. Im obiekt znajduje się dalej od obserwatora, tym mniejsza tekstura jest potrzebna. Skalowania tekstur można dokonać automatycznie, np. uśredniając sąsiednie piksele i filtrując zakłócenia. Oprócz zwiększenia prędkości teksturowania, otrzymujemy też obraz dobrej jakości. Niestety płacimy za to większym wykorzystaniem pamięci. [google]

  9. UVW mapping. „Sztywne” przypisanie dwuwymiarowego obrazu powierzchni obiektu. W przypadku jakiejkolwiek jej modyfikacji konieczne jest ponowne rzutowanie obrazu. [http://wiki.ega.org.pl/index.php?title=Reprezentacja_tekstur_na_modelu]

  10. Camera mapping. Szybka i łatwa technika do tworzenia pozornej wizualizacji 3D na podstawie pojedynczego zdjęcia. Tekstura rzutowana jest z pozycji kamery na obiekt, przy czym kamera jest związana z układem współrzędnych obiektu, na który rzuca teksturę. [google]

  11. Mapowanie środowiska (environment mapping, reflection mapping). Metoda, która pozwalała na symulowanie odbić światła od powierzchni. Otoczenie obiektu rzutuje się na sferę. Następnie obraz ze sfery rzutuje się na obiekt. [http://www.dimmension3.spine.pl/download/pdf/Teoria%20-%20Mapowanie%20sferyczne.pdf]

  12. Mapowanie nierówności (bumpmapping). Metoda, która symuluje niewielkie wypukłości powierzchni, bez ingerencji w geometrię obiektu trójwymiarowego. Technika polega na użyciu tekstury, która nie jest bezpośrednio wyświetlana, ale powoduje lokalne zakłócenia (zmianę kierunku) wektora normalnego (wraz z teksturą stosuje się tzw. mapę nierówności – opisującą zmiany tekseli (położenie, jasność) i wektorów normalnych). Rezultatem zakłóceń jest pojawienie się na obrazie złudzenia nierówności powierzchni z uwagi na zmienne natężenie padającego światła. Udoskonaleniem tej metody jest mapowanie normalnych. [wikipedia]

  13. Mapowanie przemieszczeń (displacementmapping). Metoda, która wykorzystując mapę przemieszczeń wywołuje efekt wyniesienia niektórych punktów ponad poziom tekstury (siatka trójkątów jest dzielona na mniejsze trójkąty i deformowana zgodnie z mapą – dopiero potem nakłada się teksturę).

  14. Filtrowanie. Filtrowanie służy do poprawy jakości tekstur poprzez zacieranie granic pomiędzy sąsiednimi tekselami, co powoduje wygładzanie tekstury. W przypadku bezpośredniego przypisania koloru teksela (nearest-pointsampling – co jest najprostszą i najszybszą metodą) mogą powstać artefakty (pojedyncze piksele będą odcinać się od reszty). [google]

  15. Filtrowanie dwuliniowe polega na nadaniu tekselowi uśrednionej wartości czterech sąsiednich tekseli (względem osi). Filtrowanie trójliniowe jest rozszerzeniem filtrowania dwuliniowego. Pozwala na redukcję niekorzystnych skutków aliasingu, gdy obiekt znajduje się daleko od obserwatora. Polega ono na uśrednieniu wartości tekseli sasiednich punktów na dwóch poziomach szczegółowości mipmapy. [google]

  16. Filtrowanie anizotropowe udoskonala filtrowanie trójliniowe i polega na uwzględnieniu w filtrowaniu tekstury kierunku obserwacji - powinno być ono intensywniejsze "w głąb ekranu". Dla różnych kierunków stosuje się różne wagi i mapy. Pociąga to za sobą wzrost złożoności czasowej i pamięciowej. [google]

  17. Skybox. Metoda stosowana w grach komputerowych w celu stworzenia realistycznego obrazu nieba i krajobrazu. Kamerę umieszcza się w środku sześcianu, którego ściany pokrywa się teksturą. Przy każdym ruchu kamery przemieszcza się go tak, aby kamera była zawsze w środku. Obecnie częściej stosuje się sferę lub kopułę (skydome), np. do obrazowania kosmosu. [google]

  18. Mozaikowanie obrazów cyfrowych polega na przetworzeniu zbioru kilku lub kilkudziesięciu cyfrowych obrazów składowych, w wyniku którego utworzony zostanie jeden obraz. Oprócz tworzenia panoramicznych obrazów, mozaikowanie jest bardzo przydatne np. w geografii do tworzenia lotniczych obrazów powierzchni Ziemi lub do konstrukcji sonarowych modeli dna zbiorników wodnych. Wbrew pozorom nie jest to proste zadanie, gdyż oprócz błędów wynikających z niedoskonałości przyrządów, pojawia się problem określenia położenia sprzętu i jego ukierunkowania.

  19. Przykłady. [google]

  20. Przykład. http://www.lazienki-krolewskie.pl/trail.html

  21. Deformowanie (warping) obiektu, to zmiana jego kształtu oraz atrybutów takich jak barwa, tekstura, właściwości odbijania światła itp.. Deformowany może być obiekt sceny lub jego obraz. Do deformacji może zostać użyta dowolna funkcja określona na danym obrazie. Jeśli funkcja jest różnowartościowa, to istnieje możliwość odtworzenia obrazu pierwotnego. Zazwyczaj funkcja ta jest określona na węzłach siatki obiektu lub obrazu. Deformacji możemy dokonać w dwóch kierunkach (gdy funkcja przekształcenia jest bijekcją): • możemy deformować obraz oryginalny, • z obrazu zdeformowanego możemy próbować odzyskać obraz oryginalny. Warping możemy zastosować np. do zmian wyglądu twarzy (np. układ warg) lub korekty kształtu ciała (nie zawsze skuteczne, bo mogą pojawić się niepożądane elementy).

  22. Przykłady. [google] [sound.eti.pg.gda.pl/student/.../metody_animacji/metody_animacji.ppt]

  23. Przekształcanie (morphing), to technika przekształcania obrazu polegająca na płynnej zmianie jednego obrazu w inny. Zazwyczaj w tym celu wykorzystuje się punkty kontrolne określające elementy obrazu, które chcemy dopasować (np. oczy, usta, podbródek, uszy lub elementy fasady domu). Następnie trianguluje się obraz (oczywiście triangulacją Delaunay) oraz interpoluje stany pośrednie. W każdym kroku interpolowane są oba obrazy (początkowy i końcowy) a wynik jest uśredniany z odpowiednimi wagami. Przy przekształcaniu wskazane jest, aby: • między parą obrazów istniał związek logiczny, tzn. nie powinny być to dwa dowolne obrazy, dla których fazy pośrednie byłyby trudną do identyfikacji mieszaniną barw (chyba, że tak chciał autor), • liczba obrazów pośrednich powinna umożliwiać płynną animację.

  24. Przykład. http://www.mukimuki.fr/flashblog/2009/05/10/morphing/

  25. Jeszcze jeden przykład. http://grail.cs.washington.edu/projects/regenmorph/ A swoją drogą nie ma co się za bardzo trudzić, bo jest wiele programów, które zrobią to za nas – np. WinMorphto, Photoshop.

  26. Wstawianie (tweening), to proces łagodnego przejścia od jednego obrazu do drugiego przez automatyczne wprowadzanie (interpolację) dodatkowych ramek pomiędzy nimi. Wstawianie jest częścią morphingu. Należy zwrócić uwagę na możliwość zmiany kolejności punktów kontrolnych, co może doprowadzić do zaburzenia triangulacji. Trzeba utrzymywać aktualną triangulację Delaunay wykorzystując w tym celu zmianę kierunku krawędzi, gdy staje się ona nielegalna.

  27. Zlewanie (dissolwing), to płynne łączenie dwóch obrazów. Zlewanie ma sens, gdy obrazy są podobne (np. zmiana krajobrazu podczas zmieniających się pór roku). Oczywiście można też uśrednić dowolne dwa obrazy pixel po pixelu. [google]

  28. Maskowanie, to sposób animacji mający na celu stworzenie efektu światła punktowego (reflektorowego – doświetlenie określonego obszaru sceny). Polega ono na tym, że pewien obszar sceny (np. w kształcie koła) jest oświetlony a pozostała część jest zaciemniona lub niewidoczna. Obszar ten tworzy maskę, której położenie może być zmieniane. Nazwa ma związek z wycinanymi w kartonie kształtami służącymi do doświetlania określonych fragmentów fotografii. [google]

  29. Dziękuję za uwagę.

More Related