dr in. Artur Bernat, KMP, WM., PKos., wykład wstpny V (rodowisko Matlab), strona: 1



Podobne dokumenty
Rys2 Na czerwono przebieg, na niebiesko aproksymacja wielomianem II stopnia.

plot(centroids(:,1), centroids(:,2), 'b*')

Rys 1 Skrypt redukcji stopniowej licznoci palety kolorów poprzez wartoci 127,64,...1.

stopie szaro ci piksela ( x, y)

Program do konwersji obrazu na cig zero-jedynkowy

Poradnik korzystania z serwisu UNET: Dostp do poczty elektronicznej ze strony WWW

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

Statyczna próba skrcania

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

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

Podstawowe obiekty AutoCAD-a

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

Gramatyki regularne i automaty skoczone

Klasyfikacja metod kompresji

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM.

Metody numeryczne i statystyka dla in»ynierów

Temat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury.

Projektowanie algorytmów rekurencyjnych

Joint Photographic Experts Group

Zapisywanie algorytmów w języku programowania

Algorytmy kodowania predykcyjnego

Planowanie adresacji IP dla przedsibiorstwa.

Grafika na stronie www

PRZEWODNIK PO PRZEDMIOCIE

ODPOWIEDZI I SCHEMAT PUNKTOWANIA ZESTAW NR 2 POZIOM PODSTAWOWY. 1. x y x y

Program Sprzeda wersja 2011 Korekty rabatowe

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

Program SMS4 Monitor

Kompresja obrazu z wykorzystaniem transformaty Karhunena-Loeve

Programowanie Obiektowe

Temat: Programujemy historyjki w języku Scratch tworzymy program i powtarzamy polecenia.

Komputerowe wspomaganie prac inynierskich CAE

Cash flow projektu zakładajcego posiadanie własnego magazynu oraz posiłkowanie si magazynem obcym w przypadku sezonowych zwyek

Wprowadzenie do algorytmów. START

Elektronika i Telekomunikacja I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

PREZENTACJA DZIAŁANIA KLASYCZNEGO ALGORYTMU GENETYCZNEGO

Podstawy OpenCL część 2


Transformata Fouriera

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

KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

WYKŁAD 11. Wzorce projektowe czynnociowe Iterator TemplateMethod

Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika.

Instrukcja dla pracowników Uniwersytetu Rzeszowskiego.

KARTA PRZEDMIOTU. Techniki przetwarzania sygnałów, D1_3

Programowanie od pierwszoklasisty do maturzysty. Grażyna Koba

Wykład 3 Składnia języka C# (cz. 2)

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza

Kodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG

Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski

Szablony funkcji i szablony klas

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

Wprowadzenie do kompilatorów

WYKŁAD 4 PLAN WYKŁADU. Sieci neuronowe: Algorytmy uczenia & Dalsze zastosowania. Metody uczenia sieci: Zastosowania

Laboratorium elektryczne. Falowniki i przekształtniki - I (E 14)

Aproksymacja funkcji metod najmniejszych kwadratów

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Przedmowa 11 Ważniejsze oznaczenia 14 Spis skrótów i akronimów 15 Wstęp 21 W.1. Obraz naturalny i cyfrowe przetwarzanie obrazów 21 W.2.

Informatyka klasa III Gimnazjum wymagania na poszczególne oceny

Klasyfikacja metod kompresji

Wymagania edukacyjne na ocenę z informatyki klasa 3

CYKL ZAJ POZNAJEMY POWER POINT

WYKŁAD 10. Wzorce projektowe czynnociowe Command Strategy

Optymalizacja oprogramowania - wprowadzenie

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Przegldanie stron wymaga odpowiedniej mikroprzegldarki w urzdzeniu mobilnym lub stosownego emulatora.

Wprowadzenie do programowania

Wojciech Drzewiecki SYSTEMY INFORMACJI GEOGRAFICZNEJ

Algorytmy i struktury danych. Wykład 4

Przewodnik po soczewkach

Z nowym bitem. Informatyka dla gimnazjum. Część II

Kompresja obrazów w statycznych - algorytm JPEG

1.2 Logo Sonel podstawowe załoŝenia

W odniesieniu do wszystkich zajęć: Ocena dopuszczająca: Uczeń:

Poniszy rysunek przedstawia obraz ukoczonej powierzchni wykorzystywanej w wiczeniu.

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Laboratorium Cyfrowego Przetwarzania Obrazów

Wymagania edukacyjne z informatyki w klasie VIII

Temat: Algorytmy zachłanne

LEKCJA 2 Program do zdalnego sterowania robotem

Teoria światła i barwy

Zarzdzanie i Inynieria Produkcji

Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski

IV Powiatowy Konkurs Matematyka, Fizyka i Informatyka w Technice Etap finałowy 1 kwietnia 2016

Wektory w przestrzeni

KARTA KURSU. Grafika komputerowa

PROCEDURY REGULACYJNE STEROWNIKÓW PROGRAMOWALNYCH (PLC)

Laboratorium Przetwarzania Sygnałów

Temat: Geometria obliczeniowa cz II. Para najmniej odległych punktów. Sprawdzenie, czy istnieje para przecinajcych si odcinków.

INFORMATYKA POZIOM ROZSZERZONY

Proste modele o zªo»onej dynamice

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

Dynamika Uk adów Nieliniowych 2009 Wykład 11 1 Synchronizacja uk adów chaotycznych O synchronizacji mówiliśmy przy okazji języków Arnolda.

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

INSTRUKCJA OBSŁUGI PROGRAMU C-STATION

ZASADY PROGRAMOWANIA KOMPUTERÓW

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.

Wymagania edukacyjne na ocenę z informatyki KLASA III

Transkrypt:

dr in. Artur Bernat, KMP, WM., PKos., wykład wstpny V (rodowisko Matlab), strona: 1 Wykład wstpny (V)<< zrealizowany w 2006, przedrostki-nazwy zretuszowane w Acrobat >> z Podstaw Przetwarzania Informacji (rodowisko Matlab 6.x 7.x, przykłady wizualizacji) W ramach serii wstpnych wykładów dotyczcych prezentacji moliwoci dokonywania przekształce na danych obrazów 2D w Image Processing Toolbox, postanowiono przedstawi pewne wstpne przykłady zastosowa omówionej grupy funkcji, jak równie specyficznej składni polece w manipulacji na zawartoci danych 1D/2D/3D. Na pocztek, postanowiono przedstawi przykładow posta kodu słucego w generacji fraktalnej obiektu przypominajcego kształtem li paproci (ang. fern): Rys1Przykładowy kod fern.m, generacji obiektu fraktalnego formie podobnej do licia paproci Specyficznym rozwizaniem powyszej funkcji generacji (rys.1) jest zastosowanie generacji zbioru punktów, przynalenych do tworzonego iteracyjnego obiektu, w oparciu o indeksowan posta map mapsa oraz mapsb. Mapy te ulegaj nastpnie złoeniu w uyciem polecenia [], zarówno w czasie tworzenia animacji z procesu tworzenia obiektu fraktalnego, jak i w czasie ostatecznej generacji mapy im_final, po za globaln ptl iteracyjn for. Takie rozwizanie to moliwo bardziej elastycznego wykorzystania, definiowania, jak i

mgr in. Artur Bernat, KMP, WM., PKos., wykład wstpny V (rodowisko Matlab), strona: 2 przedefiniowywania w locie palety kolorów. Alternatywne rozwizanie, jest trudniejsze w implementacji, bo dla przykładu oznacza konieczno obsługi danych w ich reprezentacji RGB lub HSV. Sam algorytm generacji obiektu fraktalnego, mimo, e nazywany jest algorytmem deterministycznej generacji, to z pewnych wzgldów bdzie miał zapewniony losowy zestaw warunków pocztkowych. Wdrówka punktu po płaszczynie XY, jest tutaj opisywana szczególnie prost liniow kombinacj czynników i wartoci biecych współrzdnych: xi+ 1 = A* xi + B * yi + E (1) yi+ 1 = C * xi + D * yi + F Rónica w wartociach współczynników A..F, to inny równie powszechnie znany z sylwetki generowanego obiektu, algorytm w nastpujcej implementacji: Rys2Przykładowy kod drag.m, generacji obiektu sylwetki smoka Na pierwszy rzut oka, powysza implementacja (rys.2) posiada dwukrotnie krótsze(!) w licznoci swoich pod-elementów, wektory A...F. Historia powstania przepisu na konkretne wartoci losowo dobieranych współczynników w zawartoci wektorów A..F, jest raczej nieznana (przynajmniej powszechnie). Wane jest to, e z reguły, jakiekolwiek losowo, czy

mgr in. Artur Bernat, KMP, WM., PKos., wykład wstpny V (rodowisko Matlab), strona: 3 eksperymentalnie wprowadzane zmiany, powoduj zupełn deterioracj albo wrcz rozbieno zupełnie stabilnych algorytmów opartych o zaleno (1). W kocu liczno podelementów wektorów A..F ustawiona na 3, ze specyficzn naprzemienn list współczynników, to moliwo generacji słynnego trójkta Sierpiskiego: Rys3Przykładowy kod triangle.m, generacji trójkta Sierpiskiego We wszystkich powyszych implementacjach, zastosowano ochron przed moliwoci wykroczenia konturu generowanego obiektu fraktalnego po za wymiar fizyczny map mapsa i mapsb. Proste przemnoenie wartoci nowo-wyliczanej współrzdnej (ujemnej/dodatniej w znaku) przez wyznaczany znak współrzdnej to moliwo wykrelania w zakresie nieujemnych i porednio niezerowych wartoci współrzdnych (s to podwyraenia typu: 1+sign(X).*X oraz 1+sign(Y).*Y). Zasadniczo, zaley nam na czysto losowym lub prawie losowym starcie algorytmu. W tym celu mona by na przykład zaimplementowa nadrzdn funkcj wywoła pod-sesji kolejnych generacji obiektów fraktalnych, o stosunkowo małej licznoci punktów generowanych, lecz równie o losowym punkcie startu generowanych współrzdnych x,y.

mgr in. Artur Bernat, KMP, WM., PKos., wykład wstpny V (rodowisko Matlab), strona: 4 W tym celu zaimplementowano skrypt ferns.m, który naprzemiennie wywołuje to funkcj w skrypcie fern_rand.m, to funkcj w skrypcie fern_rand_jet.m: Rys4Przykładowy kod nadrzdnych wywoła ferns.m, generacji licia paproci Kod implementacji w skrypcie fern_rand.m zasadniczo nie róni si od tego, przedstawionego na rys.1. Wartoci startowe s dobierane losowo z zakresu [1,17] oraz [1,23] odpowiednio. Ze wzgldu na losowy wybór, w kadej z iteracji pod-elementów z zawartoci wektorów A..F, moliwe jest w pewnym sensie dopełnienie, tych peryferyjnych elementów licia paproci, których by moe nie udałoby si pozyska, przy nawet bardzo poszerzonej liczbie iteracji, w jednej globalnej sesji generacji, z uyciem skryptu fern.m. Wywołanie funkcji drugiego skryptu fern_rand_jet.m, to pewnego rodzaju algorytmiczna spekulacja/koloryzacja/stylizacja powierzchni licia paproci z uyciem predefiniowanej/wbudowanej w rodowisko Matlab (v6.5 i v7.1) palety kolorów o nazwie jet. Ogólnie, barwy zimne na wszelkiego rodzaju wykresach 3D, wykorzystuje si tutaj w oznaczaniu punktów niej połoonych, a barwy cieplejsze tej palety kolorów, to narzdzie w oznaczaniu punktów wyej połoonych według schematu kolorystycznego palety JET. W takim razie (rys.6b) postanowiono 64-elementow palet JET, podzieli na dwoje (31- elementów) i obdzieli jej zawartoci kolorystyczn powierzchni dwóch lici paproci stosownie do zmiany współrzdnej Y. W efekcie kocowym w skrypcie nadrzdnym nastpuje swoistego rodzaju domieszkowywanie składowych RGB obrazów z wywoła skryptów podrzdnych.

mgr in. Artur Bernat, KMP, WM., PKos., wykład wstpny V (rodowisko Matlab), strona: 5 Rys5 Przykładowy kod poddrzdnych wywoła ferns_rand.m, generacji licia paproci Kod przedstawiony na rys.6 jest nieco poszerzony o obliczenia biecego koloru palety JET, przynalenego danemu przedziałowi wysokoci na obrazie generowanym: Rys6A Paleta JET domieszkowana inn okrojon palet kolorów skutkuje nieoczekiwanie załamaniem si cigłoci barw po prawej stronie

mgr in. Artur Bernat, KMP, WM., PKos., wykład wstpny V (rodowisko Matlab), strona: 6 Rys6B Przykładowy kod poddrzdnych wywoła ferns_rand_jet.m, generacji licia paproci Podsumowujc, t cz biecego wykładu (wykład V), mona powiedzie, e nie istnieje prosty przepis na przejcie od praktyki programistycznej w jzyku C/C++, na sposób programowania, obsługi zmiennych i cało specyfiki pracy w rodowisku Matlab. Równie pierwsze, wstpne przewiadczenie o przydatnoci tej i czy innej funkcji w wytyczonym zadaniu, z reguły wymaga weryfikacji. Równie w tym przypadku, to jest tworzenia specyficznej mieszaniny barw danych uzyskanych z dwóch rónych funkcji generowania tego samego obiektu fraktalnego, lecz z rónicymi si paletami barw, z pozoru wystarczyłoby wywołanie funkcji imadd, a treci dwóch obrazów zostałyby zsumowane. Praktyka jednak, czasami kae wkracza samemu w realizacj drobnych zada pomocniczych wzgldem zadania głównego. Nawizujc do treci wykładów IVA/B, postanowiono przedstawi poniej skrypt demonstrujcy postpujc degradacj zbioru informacji oryginalnego obrazu intensywnoci luminancji, jako funkcj zawanego zbioru współczynników prostej transformaty kosinusowej. Zazwyczaj, to czy inne demo w formie interaktywnej moe posłuy w celach dydaktycznych. Tym razem jednak, poniej przedstawiona tre skryptu dctmovie, tworzy dwie animacje zapisywane na dysku twardym. Jedna obrazuje zmienn jako obrazu po

mgr in. Artur Bernat, KMP, WM., PKos., wykład wstpny V (rodowisko Matlab), strona: 7 wykonanym prostym przekształceniu w oparciu o:a) transformat kosinusow (kompresja stratna), b)redukcj zbioru współczynników, c)transformat odwrotn kosinusow: Rys7 Przykładowy kod dctmovie.m, składnia filmu obrazujcego postpujc degradacj treci obrazu Druga animacja to mapa zbinaryzowanych współczynników transformaty kosinusowej, obrazujca udział wybranych współczynników transformaty w tworzeniu obrazu w realizacji odwrotnej transformacji kosinusowej. Rys 8 Pitnacie klatek animacji w formie pod-wykresów jako wynik wykonania skryptu o treci z rysunku 7 Na rys.8, powyej pokazano degradacj treci pewnego obrazu intensywnoci luminacji z górn granic wartoci współczynników transformaty kosinusowej ustawion na 600, przy rozdzielczoci obrazu rzdu 300x330 pikseli.

mgr in. Artur Bernat, KMP, WM., PKos., wykład wstpny V (rodowisko Matlab), strona: 8 Rys 9 Pitnacie klatek animacji adekwatnych w swojej treci do danych rekonstruowanego obrazu pierwotnej trec (na rys.8 powyej)i, które przedstawiaj w formie jasnych pikseli lokalizacj współczynników transformaty kosinusowej, wyselekcjonowanych do dalszego przetwarzania. Jak wida z porównania postaci wyników na rysunkach 8 i 9 treci obrazów rekonstruowanych oraz zakres licznoci współczynników wyselekcjonowanych do dalszego przetwarzania, odpowiednio), mona stwierdzi potencjalnie wysok wydajno całego procesu kompresji stratnej, któr mona by rozbudowa w oparciu o zademonstrowany cig wywoła funkcji zaimplementowanych w rodowisku Matlab.Z jednej strony, analizowany pierwszy rzd otrzymanych obrazów z rys.8 nie wskazuje na drastyczne obnienie jakoci obrazu oryginalnego. Jednoczenie, z drugiej strony, zakres współczynników prostej transformaty kosinusowej, moe by znacznie zawony w selekcji.analogicznie, poprzez wizualizacj z formie animacji, postanowiono przedstawi pewne potencjalne moliwoci wykorzystania w przetwarzaniu treci obrazów 2D prostej i odwrotnej szybkiej transformaty Fouriera:(jakkolwiek bez wydruku wyników kocowych): Rys10 Wizualizacja wyników wywołania funkcji szybkiej transformaty Fouriera