Metody komputerowe w obliczeniach inżynierskich

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

INFORMATYKA WSTĘP DO GRAFIKI RASTROWEJ

Rozszerzenia plików graficznych do publkacji internetowych- Kasia Ząbek kl. 2dT

Cała prawda o plikach grafiki rastrowej

Grafika komputerowa. Dla DSI II

FORMATY PLIKÓW GRAFICZNYCH

Formaty plików graficznych

Grafika na stronie www

Obróbka grafiki cyfrowej

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

Klasyfikacja metod kompresji

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

GRAFIKA RASTROWA. WYKŁAD 2 Oprogramowanie i formaty plików. Jacek Wiślicki Katedra Informatyki Stosowanej

dr hab. inż. Lidia Jackowska-Strumiłło, prof. PŁ Instytut Informatyki Stosowanej, PŁ

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

Klasyfikacja metod kompresji

Podstawy grafiki komputerowej. Teoria obrazu.

Podstawy Informatyki Wykład V

Technologie cyfrowe semestr letni 2018/2019

Kompresja Stratna i Bezstratna Przegląd Najważniejszych Formatów Graficznych

Gimp Grafika rastrowa (konwersatorium)

Analiza obrazów - sprawozdanie nr 2

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

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

Kompresja obrazów i formaty plików graficznych

GRAFIKA. Rodzaje grafiki i odpowiadające im edytory

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

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

Zygmunt Wróbel i Robert Koprowski. Praktyka przetwarzania obrazów w programie Matlab

Grafika rastrowa (bitmapa)-

Przetwarzanie obrazów rastrowych macierzą konwolucji

Wyższa Szkoła Informatyki Stosowanej i Zarządzania

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

Grafika komputerowa dziedzina informatyki zajmująca się wykorzystaniem technik komputerowych do celów wizualizacji artystycznej oraz wizualizacji i

Formaty plików graficznych

Grafika komputerowa. Zajęcia IX

Materiały dla studentów pierwszego semestru studiów podyplomowych Grafika komputerowa i techniki multimedialne rok akademicki 2011/2012 semestr zimowy

1. Przypisy, indeks i spisy.

Ćwiczenie 2. Przetwarzanie graficzne plików. Wprowadzenie teoretyczne

Techniki wizualizacji. Ćwiczenie 2. Obraz cyfrowy w komputerze

Podstawy użytkowania systemu Linux

Cechy formatu PNG Budowa bloku danych Bloki standardowe PNG Filtrowanie danych przed kompresją Wyświetlanie progresywne (Adam 7)

Sposoby cyfrowego zapisywania obrazów

Technologie Informacyjne

Przetwarzanie obrazów

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

Formaty plików graficznych - wprowadzenie

Formaty plików graficznych

Teoria światła i barwy

Jak zrobić za pomocą programu SALSA-J kolorowy obrazek, mając trzy zdjęcia w barwach podstawowych?

Rozdział 1. Zastosowanie komputera w życiu codziennym Rozdział 2. Elementy zestawu komputerowego...11

Przetwarzanie obrazów wykład 4

Diagnostyka obrazowa

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

Kryterium technika tworzenia Grafika wektorowa Grafika rastrowa

Obraz jako funkcja Przekształcenia geometryczne

Wymagania edukacyjne na ocenę z informatyki klasa 3

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

AutoCAD LT praca na obiektach rastrowych i nakładanie barw z palety RGB na rysunki.

Porównanie rastrowego i wektorowego formatu zapisu obrazu cyfrowego

Python: JPEG. Zadanie. 1. Wczytanie obrazka

Polecenie ŚWIATPUNKT - ŚWIATŁO PUNKTOWE

CEL zapoznanie z programem do tworzenia rysunków i ukazanie możliwości Edytora obrazów do sporządzania rysunków i ikon.

Scenariusz lekcji. Scenariusz lekcji. opisać działanie narzędzi przybornika. korzystać z Edytora postaci programu Logomocja;

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

Porównanie rastrowego i wektorowego formatu zapisu obrazu cyfrowego. Barbara Ptaszek Krzysztof Krupiński V WT z inf.

Przewodnik po soczewkach

Przedmiot: Grafika komputerowa i projektowanie stron WWW

Diagnostyka obrazowa

Promotor: dr inż. Adam Piórkowski. Jakub Osiadacz Marcin Wróbel

Diagnostyka obrazowa

Przetwarzanie obrazów wykład 2

Warstwa Rysunek bitmapowy Rysunek wektorowy

Laboratorium Cyfrowego Przetwarzania Obrazów

Diagnostyka obrazowa

Grafika Komputerowa Wykład 2. Przetwarzanie obrazów. mgr inż. Michał Chwesiuk 1/38

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

GIMP. Ćwiczenie nr 6 efekty i filtry. Instrukcja. dla Gimnazjum 36 - Ryszard Rogacz Strona 18

Synteza i obróbka obrazu. Tekstury. Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych

Odczytywanie i zapisywanie obrazów rastrowych do plików, operacje punktowe na tablicach obrazów

Proste metody przetwarzania obrazu

Przekształcenia punktowe

Do opisu kolorów używanych w grafice cyfrowej śluzą modele barw.

Plan wykładu. Akcelerator 3D Potok graficzny

Formaty obrazów rastrowych biblioteki PBM

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 1 AiR III

GRAFIKA RASTROWA GRAFIKA RASTROWA

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 3 AiR III

Podstawy przetwarzania obrazów teledetekcyjnych. Format rastrowy

Grafika komputerowa. mgr inż. Remigiusz Pokrzywiński

Filtracja obrazu operacje kontekstowe

Kurs grafiki komputerowej Lekcja 2. Barwa i kolor

MODELE KOLORÓW. Przygotował: Robert Bednarz

Grafika rastrowa i wektorowa

PODSTAWY PRZETWARZANIA INFORMACJI OBRAZOWEJ

Język JAVA podstawy. Wykład 5, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Ustawienia materiałów i tekstur w programie KD Max. MTPARTNER S.C.

Transkrypt:

Metody komputerowe w obliczeniach inżynierskich dr inż. Marcel Luzar m.luzar@issi.uz.zgora.pl p. 325 A-2 www.issi.uz.zgora.pl

Przetwarzanie obrazów w MATLABIe Zapis i odczyt obrazów, liczby 8 i 16-bitowe bez znaku Grafika 24-bitowa Obrazy indeksowane i ich barwa Przetwarzanie obrazów rastrowych Światło, odbicia i tekstury

Przetwarzanie obrazów Środowisko MATLAB posiada szybkie algorytmy do operacji na dużych macierzach, a co za tym idzie, umożliwia tworzenie procedur do wizualizacji wyników i pomiarów, a także do efektywnego przetwarzania grafiki. Gotowe narzędzia do akwizycji, tworzenia i przetwarzania obrazów są dostępne w Image Processing Toolbox, Image Acquisition Toolbox, jak również w Bioinformatics Toolbox. Służą one do rozwiązywania złożonych problemów graficznych w wielu dziedzinach, jak lotnictwo i przemysł obronny, teledetekcja, biotechnologia, materiałoznawstwo. Szczegółowe omówienie stosowania wymienionych przyborników wykracza poza zakres tego wykładu, jednak będą one używane na dalszym etapie studiowania.

Zapis i odczyt obrazów liczby 8 i 16 bit bez znaku Pliki graficzne wczytuje się poleceniami:

Zapis i odczyt obrazów liczby 8 i 16 bit bez znaku Obrazy wczytane funkcją imread zajmują niewiele miejsca w pamięci z uwagi na zmianę standardu zapisu. W miejsce zazwyczaj używanych 64-biltowych liczb podwójnej precyzji z zakresu [0 1] używa się tutaj liczb 8-bitowych z zakresu [0 255]. Polecenie imread rozpoznaje i wczytuje kilkanaście formatów graficznych, a dodatkowo poprawnie interpretuje ich odmiany różniące się liczbą bitów, kodowaniem barw i kompresją. Przetworzony obraz można zapisać w dowolnie wybranym formacie graficznym za pomocą polecenia imwrite, na przykład poniższe polecenie utworzy plik graficzny pict.tif w formacie *.tiff:

Zapis i odczyt obrazów liczby 8 i 16 bit bez znaku Palety barwne zazwyczaj nazywane map lub colormap, będą wczytywane zawsze jako liczby 64-bitowe o podwójnej precyzji. Nie zajmują one wiele pamięci z uwagi na ograniczenie liczby kolorów w obrazach indeksowanych. Maksymalny wymiar palety to 256x3. Do MATLABa można wczytać obrazy w wielu standardach, w tym: Bmp bitmapy 1, 4, 8 i 24-bitowe. Może być użyta bezstratna kompresja RLE, Cur (ang. Windows cursor resources) 1, 4 i 8-bitowe Ico ikony 1,4 i 8-bitowe Fits (ang. Flexible image transport system) Gif (ang. Graphics interchange format) 1 i 8-bitowe Hdf (ang. Hierarchical data format) 8 i 24-bitowe Jpeg (ang. Joint photographic experts group) Pcx format Paintbrush 1, 8 i 24-bitowe Png (ang. Portable network graphics) 1 i 48-bitowe Tiff (ang. Tagged image file format) 1, 8 i 24-bitowe, z kompresją lub bez Xwd (ang. X window dump) 1 i 8-bitowe.

Formaty plików graficznych obsługiwanych przez MATLABa

Grafika 24-bitowa (true color) Obrazy true color wymagają dużej ilości pamięci, gdyż dla każdego piksela przechowuje się jego barwę w postaci 3 liczb 8-bitowych. Daje to łącznie 24-bity na każdy piksel i oznacza możliwość wyboru spośród ponad 16 milionów barw. Obrazy true color są przechowywane w tablicy trójwymiarowej m x n x 3. Powstaje ona ze złożenia 3 warstw o wymiarach n x m. Każda warstwa zawiera informację o intensywności jednego z trzech kolorów RGB (czerwony, zielony, niebieski). Obrazy true color wyświetla się za pomocą polecenia image. Rysunek ngc6543a.jpg jest rysunkiem z biblioteki MATLABa, dlatego jest dostępny bez podawania ścieżki. Poniżej pokazano sposób jego wczytania.

Grafika 24-bitowa (true color) Wymiary tego obrazu to 650x600 pikseli. Należy zwrócić uwagę na użycie trzech liczb 8-bitowych typu uint do zapisu składowych barw RGB barwy każdego piksela. Dodatkowe informacje o pliku graficznym odczytuje się za pomocą polecenia imfinfo.

Obrazy indeksowane i ich barwa Obrazy mogą być także przechowywane w formie obrazów indeksowanych. Dzięki ograniczeniu liczby dostępnych kolorów, zajmują one mniej miejsca. Kolory w postaci 3 liczb: R, G i B są zapisywane w pomocniczej tablicy zwanej paletą barw. Barwa punktów obrazu jest określana przez podanie numeru wiersza (indeksu) palety barw, z którego można odczytać wybraną kombinację barwy czerwonej R, zielonej G i niebieskiej B.

Palety barw Tabela prezentująca funkcje generujące palety barw w MATLABIE przedstawiona jest na kolejnym slajdzie. Każda z tych palet zawiera 64 kolory, chyba, że w wywołaniu poda się parametr określający liczbę kolorów, na przykład hsv(6). Paleta jest aktywna dopiero po jej zainstalowaniu za pomocą funkcji colormap( nazwa palety ). Nazwę palety można pominąć lub podać default. Pasek z aktualnymi barwami wyświetla funkcja colorbar, a wykres intensywności barw składowych podaje rgpplot. Do modyfikacji palet używa się funkcji z tabeli na slajdzie 14.

Rodzaje palet barw

Funkcje zmiany kolorów i cieniowania

Obrazy indeksowane Obrazy indeksowane przechowywane są w tablicach dwuwymiarowych. Każdy punkt takiej tablicy to punkt na ekranie (piksel). 24-bitowa barwa tego punktu jest określona przez wartość jednej liczby (zazwyczaj uint8) wpisanej do tej tablicy. Liczba ta określa numer wiersza w trójkolumnowej palecie barw, dołączonej do danego obrazu. Całkowita liczba wierszy w macierzy palety barw jest zgodna z liczbą użytych kolorów (np. 16, 64, 256) i zazwyczaj jest znacznie mniejsza od liczby punktów obrazu. Daje to znaczne oszczędności, gdy wielu punktom obrazu przypisuje się identyczną barwę.

Obrazy w skali szarości i zabarwione Obrazy w skali szarości są przechowywane w jednej dwuwymiarowej tablicy i nie muszą mieć własnej palety barw. Przykładowy obraz można wczytać i wyświetlić poleceniem: Można zauważyć, że został wczytany indeksowany obraz X wraz z mapą map. Pominięcie polecenia colormap(map) spowoduje nienaturalne zabarwienie obrazu spowodowane użyciem domyślnej mapy colormap default.

Przetwarzanie obrazów rastrowych Na kolejnych slajdach przedstawiono podstawowe algorytmy przetwarzania grafiki rastrowej. Raster to sieć, w której oczkach znajdują się piksele. Obraz rastrowy jest opisany przez podanie koloru i położenia pikseli tworzących mapę bitową obrazu. Profesjonalnym narzędziem do przetwarzania obrazów jest Image Processing Toolbox. Większość podanych tu algorytmów nie wymaga tego przybornika. Wszystkie przykłady dotyczą obrazów czarno-białych, nieindeksowanych. Można je przystosować do obrazów kolorowych, powtarzając kolejne operacje oddzielnie dla każdego koloru RGB, a następnie scalając otrzymane trzy obrazy.

Przygotowanie obrazów do testów Do testów wybrano powszechnie znany plik graficzny lena.jpg o rozdzielczości 256x256. Jest to jeden z najpopularniejszych obrazu do testów, zyskał wręcz międzynarodową sławę. Parametry pliku można odczytać za pomocą polecenia imfinfo. Poniżej podano kilka poleceń, które usuwają z pamięci wszystkie zmienne i stare rysunki, wczytują plik graficzny lena.jpg i tworzą używane dalej tablice z danymi graficznymi:

Przetwarzanie punktowe: negatyw Negatyw obrazu rastrowego uzyskuje się zastępując kolor czarny białym, biały czarnym oraz przeliczając odpowiednio wszystkie pozostałe poziomy szarości. Przeliczanie polega na odejmowaniu aktualnej wartości piksela od wartości przypisanej do koloru białego. Operacje te realizuje polecenie:

Przetwarzanie punktowe: rozjaśnianie i przyciemnianie Pierwiastkowanie elementów macierzy xnorm powoduje rozjaśnienie obrazu:

Przetwarzanie punktowe: rozjaśnianie i przyciemnianie Podnoszenie do potęgi elementów macierzy xnorm powoduje przyciemnianie obrazu:

Operacje logiczne: binaryzacja Obraz binarny ma dwa kolory: biały i czarny. Po binaryzacji macierz obrazu zawiera tylko zera i jedynki. Binaryzacja może poprawić czytelność obrazu, na przykład zawierającego napisy. Bazuje ona na progu (z przedziału 0-1), który oddziela wartości powyżej niego i poniżej, na odpowiednio kolory białe i czarne.

Operacje arytmetyczne: filtry Filtrację można wykonać korzystając z funkcji bibliotecznej conv2. Wybierając odpowiedni filtr, uzyskuje się wyostrzenie lub rozmycie obrazu, wykrycie krawędzi pionowych, poziomych lub ukośnych oraz wiele innych, opisanych w literaturze efektów. Filtrowanie polega na obliczeniu nowej wartości piksela jako sumy ważonej jego aktualnej wartości i wartości najbliższych pikseli sąsiadujących. Współczynniki wagi są wpisane do niewielkiej macierzy zwanej filtrem lub maską. Wymiar filtru to zazwyczaj 3x3. Efekty działania filtrów o wymiarach 3x3 można często uzyskać poprzez kilkakrotne powtórzenie filtracji z małymi filtrami.

Operacje arytmetyczne: filtry Aby dokonać filtracji, należy punkt centralny filtru umieścić kolejno nad każdym pikselem oryginalnego obrazu. Nową wartość tego piksela oblicza się jako sumę iloczynów wartości każdego z elementów filtru i wartości umieszczonego pod nim piksela. Następnie przesuwa się filtr i powtarza obliczenia dla kolejnego piksela. Nawet proste filtry pozwalają na radykalną zmianę wyglądu przetwarzanego obrazu.

Filtry dolnoprzepustowe Filtry dolnoprzepustowe uśredniają wartości sąsiadujących pikseli. Zmniejsza to gwałtowność przejścia pomiędzy bielą i czernią, powodując nieznaczne rozmycie (zmiękczenie) obrazu i zmniejszenie jego ostrości (efekt blur). Poniżej podano przykłady typowych filtrów dolnoprzepustowych oraz efekty ich działania.

Filtry górnoprzepustowe Filtry górnoprzepustowe działają w sposób odwrotny do dolnoprzepustowych, tłumią one niskoczęstotliwościowe elementy obrazu, wzmacniają natomiast elementy o wysokich częstotliwościach (szczegóły). Wynikiem działania tego typu filtrów jest podkreślenie, uwypuklenie elementów obrazu o dużej częstotliwości poprzez zwiększanie jasności, koloru itp. Dla obrazu jako całości efektem jest zazwyczaj zwiększenie kontrastu poprzez podkreślenie ostrych krawędzi obiektów. Przykłady typowych filtrów górnoprzepustowych podano poniżej:

Inne filtry Pokazane na poprzednich slajdach przykłady filtrów dolno- i górnoprzepustowych prezentują tylko niewielką część możliwych do uzyskania efektów. Warto wypróbować inne typy filtrów, takie jak: filtry gradientowe, filtry różniczkowe, filtry konturowe, filtry krawędziowe, filtry Laplace a, filtry Robertsa, filtry Robinsona, i wiele innych.

Światło, odbicia i tekstury MATLAB pozwala na tworzenie realistycznych obrazów i brył trójwymiarowych z uwzględnieniem ich oświetlenia i różnorodnych parametrów odbijania światła od zakrzywionej powierzchni. Stosowanie tekstur pozwala nadać powierzchniom bryły charakterystyczny rysunek struktury materiału, na przykład marmuru lub drewna. Istotę problemu oświetlenia bryły i odbijania światła przez jej powierzchnię ilustruje rysunek na kolejnym slajdzie. Pokazano na nim dwie bryły. Siatka nałożona na bryły daje w obu przypadkach efekt przestrzenny. Dodatkowe efekty: oświetlenie, odbicie światła oraz zaciemnienie wnętrza w sposób znaczący poprawiają wygląd prawej figury. Wybrane funkcje, które realizują różne sposoby oświetlenia i zmieniają parametry odbicia światła podano w późniejszej tabeli.

Przykład oświetlenia bryły

Podstawowe funkcje oświetlenia

Tekstura nakładanie obrazu na powierzchnię Teksturami nazywamy obrazy płaskie nałożone na zakrzywioną powierzchnię trójwymiarową. Bardzo efektowne jest nałożenie rysunku lub fotografii na powierzchnię kuli lub walca. Na kolejnym slajdzie zamieszczono przykład nałożenia ilustracji na powierzchnię bryły. Wykorzystano plik z rysunkiem mandrill.mat, który jest dostępny w bibliotece obrazów MATLABa.

Przykład nakładania tekstury Na powierzchnię bryły nałożono plik mandrill.mat. Uzyskany rezultat pokazano na kolejnym slajdzie. Funkcji findobj użyto w celu znalezienia identyfikatora powierzchni narysowanej wcześniej bryły. Nałożenie tekstury na obiekt graficzny wymaga wpisania odpowiednich wartości w pola tego obiektu: texturemap do pola FaceColor x=[x, X] do pola CData