Zabawa z grak z programem Scilab. Jacek Tabor



Podobne dokumenty
Dyskretyzacja i kwantyzacja obrazów

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.

Metody numeryczne i statystyka dla in»ynierów

Metodydowodzenia twierdzeń

Metody dowodzenia twierdze«

Twierdzenie Wainera. Marek Czarnecki. Warszawa, 3 lipca Wydziaª Filozoi i Socjologii Uniwersytet Warszawski

Funkcje, wielomiany. Informacje pomocnicze

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Interpolacja Lagrange'a, bazy wielomianów

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 6, strona 1. Format JPEG

Programowanie i struktury danych 1 / 44

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Hotel Hilberta. Zdumiewaj cy ±wiat niesko«czono±ci. Marcin Kysiak. Festiwal Nauki, Instytut Matematyki Uniwersytetu Warszawskiego

Zbiory i odwzorowania

Równania ró»niczkowe I rz du (RRIR) Twierdzenie Picarda. Anna D browska. WFTiMS. 23 marca 2010

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Ekonometria - wykªad 8

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.

Indeksowane rodziny zbiorów

Wska¹niki, tablice dynamiczne wielowymiarowe

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Zdzisªaw Dzedzej, Katedra Analizy Nieliniowej pok. 611 Kontakt:

Technologie Informacyjne

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz

1. Wprowadzenie do C/C++

Oba zbiory s uporz dkowane liniowo. Badamy funkcj w pobli»u kresów dziedziny. Pewne punkty szczególne (np. zmiana denicji funkcji).

1. Odcienie szaro±ci. Materiaªy na wiczenia z Wprowadzenia do graki maszynowej dla kierunku Informatyka, rok III, sem. 5, rok akadem.

Strategie zabezpieczaj ce

Wybrane poj cia i twierdzenia z wykªadu z teorii liczb

Ksztaªt orbity planety: I prawo Keplera

Metody numeryczne i statystyka dla in»ynierów

Podstawy matematyki dla informatyków

Optymalizacja R dlaczego warto przesi ± si na Linuxa?

Mierzalne liczby kardynalne

Ukªady równa«liniowych

przewidywania zapotrzebowania na moc elektryczn

Wstawianie gotowych rysunków w texu - informacje podstawowe.

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

Wykªad 4. Funkcje wielu zmiennych.

INFORMATOR TECHNICZNY WONDERWARE

Ekstremalnie maªe zbiory

Proste modele o zªo»onej dynamice

Podstawy statystycznego modelowania danych Analiza prze»ycia

SKRÓCONA INSTRUKCJA OBSŁUGI CR-500- HD

Logika dla matematyków i informatyków Wykªad 1

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Liczby zmiennoprzecinkowe

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

Stacjonarne szeregi czasowe

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

Algorytmy zwiazane z gramatykami bezkontekstowymi

Liniowe zadania najmniejszych kwadratów

Strategia czy intuicja?

1 Metody iteracyjne rozwi zywania równania f(x)=0

Bash i algorytmy. Elwira Wachowicz. 20 lutego

Przekroje Dedekinda 1

Granular Computing 9999 pages 15 METODY SZTUCZNEJ INTELIGENCJI - PROJEKTY

Ekonometria Bayesowska

Elementy geometrii w przestrzeni R 3

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

c Marcin Sydow Przepªywy Grafy i Zastosowania Podsumowanie 12: Przepªywy w sieciach

Ciaªa i wielomiany. 1 Denicja ciaªa. Ciaªa i wielomiany 1

1 Bª dy i arytmetyka zmiennopozycyjna

Transformata Fouriera i analiza spektralna

Pawe Karpi ski. Zdj cie Ratusza

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

Wyra»enia logicznie równowa»ne

Podstawy JavaScript. Dawid Poªap. Dawid Poªap Technologia informacyjna Grudzie«, / 13

CHEVROLET MYLINK. Krótki przewodnik

Analizy populacyjne, ªadunki atomowe

raceboard-s Szybki start

7. REZONANS W OBWODACH ELEKTRYCZNYCH

Ekonometria. wiczenia 13 Metoda ±cie»ki krytycznej. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej

1. Wprowadzenie do C/C++

Arytmetyka zmiennopozycyjna

Statystyka opisowa. Wykªad II. Elementy statystyki opisowej. Edward Kozªowski.

X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne)

Wst p do informatyki. Systemy liczbowe. Piotr Fulma«ski. 21 pa¹dziernika Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

Teoria grafów i sieci 1 / 58

Macierze i Wyznaczniki

Programowanie funkcyjne. Wykªad 13

Mathematica - podstawy

INSTRUKCJA OBSŁUGI WD2250A. WATOMIERZ 0.3W-2250W firmy MCP

2 Podstawowe obiekty kombinatoryczne

XVII Warmi«sko-Mazurskie Zawody Matematyczne

Wst p do sieci neuronowych 2010/2011 wykªad 7 Algorytm propagacji wstecznej cd.

Logowanie do systemu Faktura elektroniczna

Pomiar mocy pobieranej przez napędy pamięci zewnętrznych komputera. Piotr Jacoń K-2 I PRACOWNIA FIZYCZNA

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

Parowanie urządzeń Bluetooth. Instrukcja obsługi

Zaawansowana adresacja IPv4

Wykªad 6: Model logitowy

Przetwarzanie sygnaªów

Jak skonfigurowad Media Gallery do obsługi sterowania gestami

Modele z czasem dyskretnym

punkcie. Jej granica lewostronna i prawostronna w punkcie x = 2 wynosz odpowiednio:

Transkrypt:

Zabawa z grak z programem Scilab Jacek Tabor

Rozdziaª 1 Zmiana skali Na dobry pocz tek: http://wwwtheinvisiblegorillacom/gorilla_experimenthtml 11 CIE 1931 Color Matching Functions Sposób w jaki widzimy konwencja 1931 CIE do±wiadczalnie wyznaczyªa w jaki sposób przetwarzamy/odbieramy ±wiatªo http://wwwciecoat/main/freepubshtml Prosz zobaczy na http://wwwcisritedu/mcsl/research/1931php http://enwikipediaorg/wiki/cie_1931_color_space Prawo Grassmana (1801-1897) - odbieranie ±wiatªa Rysunek 11: RGB matching functions Standardowy sposób zapisu RGB do niektórych aplikacji nie jest najlepszy, gdy» tak naprawd te kanaªy maj ró»n wag Cz sto przechodzimy do innych sposobów zapisu barw zazwyczaj takich w których jeden kanaª odpowiada za luminacje (jasno±, czyli jakby za zdj cie czarno-biaªe), a pozostaªe dwa za chrominacje Najprostsza i dosy cz sto u»ywana jest YCbCr (wi cej informacji na http://plwikipediaorg/wiki/ycbcr): 1

clear ; stacksize ( "max" ) ; RGB=imread ( " lena jpg " ) ; imshow ( RGB ) ; YCbCr=rgb2ycbcr ( RGB ) ; // daje czarne // k o l e j n o s c j e s t tak jak byla RGB // G odpowiada czarnemu YCbCr ( :, :, 1 ) =05; YCbCr ( :, :, 3 ) =05; Y=ycbcr2rgb ( YCbCr ) ; imshow ( Y ) ; // wspolczynnik B YCbCr=rgb2ycbcr ( RGB ) ; YCbCr ( :, :, 1 ) =05; YCbCr ( :, :, 2 ) =05; Cb=ycbcr2rgb ( YCbCr ) ; imshow ( Cb ) ; // wspolczynnik R YCbCr=rgb2ycbcr ( RGB ) ; YCbCr ( :, :, 2 ) =05; YCbCr ( :, :, 3 ) =05; Cr=ycbcr2rgb ( YCbCr ) ; imshow ( Cr ) ; 12 Zmiana skali: próbkowanie i uci glanie Chcemy dokona zapisu d¹wi ku b d¹ obrazu Nagrany lm b d¹ d¹wi k mo»emy traktowa jako kompresj peªnego obrazu Wprost ze swojej denicji jest to kompresja stratna Problem który napotykamy polega na tym,»e nasze zjawisko odbywa si w czasie który jest ci gªy b d¹ obraz jest ci gªy, a na komputerze mo»emy przechowywa wyª cznie dyskretne dane, i mo»emy zapisa nasze zjawisko tylko w pewnych odst pach czasu (np dla lmu co 1/24, 1/30 czy 1/60 sekundy, dla d¹wi ku odpowiednio cz ±ciej), lub mo»emy zrobi zdj cie z okre±lon rozdzielczo±ci Powstaje podstawowe pytanie, czy (i kiedy/przy jakich zaªo»eniach) na podstawie takiego próbkowania da si nam odzyska prawdziwy d¹wi k/obraz, lub przynajmniej dokona aproksymacji Matematyczne sformuªowanie powy»szego problemu jest nast puj ce Problem 11 Zakªadamy,»e mamy dan funkcj R t f(t) R (lub R 2 w przypadku zdj cia) Jak wspomnieli±my nie mo»emy jej ani zmierzy (mierzenie jest z okre±lon dokªadno±cia) ani tym bardziej zapisa na komputerze, dokonujemy wi c jej dyskretyzacji (zapisujemy muzyk co staª jednostk czasu, dla prostoty przyjmujemy tu T = 1, lub robimy zdj cie z okre±lon rozdzielczo±ci ) Dostajemy w konsekwencji ci g Z k f k = f(k) R lub Z 2 (w praktyce mamy podzbiór sko«czony), przypominam Z to liczby caªkowite (notacja ze studiów) Pytamy si czy (i ewentualnie przy jakich zaªo»eniach) i w jaki sposób mo»emy odtworzy funkcj f(t) tylko na podstawie znajomo±ci ci gu f k Po co? Dlatego,»e mo»emy chcie powi kszy /zmniejszy, zmieni skal, lub dokona innego typu operacji (obrót) W przypadku d¹wi ku mo»emy chcie odtwarza z inn cz stotliwo±ci (inne urz dzenie): stacksize ( "max" ) ; A=wavread( "w wav" ) ; 2

playsnd ( A,44100) ; B=wavread( "C: \ Users \ Jacek \Desktop\dydaktyka\wyklad kompresja \ dzwiek \rammstein wav" ) ; playsnd ( B,44100) ; playsnd ( B,60000) ; playsnd ( B,38000) ; playsnd ( B ( :, $ : 1:1),44100) ; Analogiczny problem dla lmów: Wagon Wheel Eect (warto przegl dn lmiki na youtube) 13 Graka Aproksymacja/interpolacja liniowa/dwuliniowa i kubiczna PODSTAWOWY SCHEMAT INTERPOLACJI: ustalamy ϕ : R R takie,»e ϕ(0) = 1, ϕ(k) = 0 dla k = ±1, ±2, Deniujemy dla danej funkcji f : Z R rozszerzenie wzorem f ϕ (t) = + f( 1) ϕ(t ( 1)) + f(0) ϕ(t 0) + f(1) ϕ(t 1) + Widzimy,»e f ϕ rozszerza f Pytanie jakie dobra ϕ zale»y od kontekstu Jako dobry test który werykuje jako± danej metody rozszerzenia dla danego zdj cia czy muzyki, mo»na rozszerzy a potem zmniejszy do tej samej skali 131 Rozszerzanie zerem Je»eli chodzi o rozszerzanie: Najprostsza metoda zast pujemy jakim± neutralnym kolorem/warto±ci Tak jest w przypadku wy±wietlania z aktywnymi okularami, lub w przypadku rozszerzania d¹wi ku (potem zrobimy uzasadnienie przy pomocy transformaty Fouriera [pryzmat dla d¹wi ku] dlaczego sªyszymy orientacyjnie to samo byª na poprzednim wykªadzie przykªad) Funkcja przy pomocy której rozszerzamy: jeden w zerze i zero poza tym Mo»na nawet zrobi dla zdj cia, ale nie jest to za dobre: jest dosy ryzykowne, szczególnie je»eli chcemy potem obrabia, na przykªad ±cie±ni ; bardzo szybkie, nie wymaga oblicze«; nie trzeba kombinowa na brzegu; mo»na dwa razy, ale wi cej jest ryzykowne 132 Najbli»szy s siad Nast pna w sensie prostoty i szybko±ci metoda: metoda najbli»szego s siada Warto± w punkcie przybli»amy za pomoc najbli»szej warto±ci Mo»emy zapisa ϕ := 1 [ 1/2,1/2), Stosuje si przy konwersji lmów ameryka«skich na europejskie (pr d - co± wi cej powiedzie ), tak»e przy zdj ciach: plus,»e nie powoduje powstania nowych barw 3

bardzo szybkie mo»e powodowa artefakty nie za dobre w przypadku wi kszego przeskalowania bo jest kwadratowe nie ma problemu z brzegiem 133 Aproksymacja liniowa Kªadziemy ϕ(x) = max(0, 1 x ) Czyli ª czymy kawaªkami linii Odpowiednik dla zdj (czyli dwuwymiarowy) to aproksymacja dwuliniowa Aproksymacja liniowa/dwuliniowa: rozszerzamy za pomoc linii Dosy cz sto dla zdj, lmy (mpeg) tak»e, dla d¹wi ku: wymaga rozszerzenia zakresu w miar dobre dla zdj Analogiczna jest tak»e aproksymacja (bi)kubiczna - bardziej skomplikowana Wi cej informacji na http://enwikipediaorg/wiki/bicubic_interpolation stacksize ( "max" ) ; // pakiet SIVP I= ones (10, 10) // generate gray image M=diag ( [ 1, 0, 1, 0, 1, 0, 1, 0, 1, 0 ] ) ; Pion=I M ; Poziom=M I ; imshow ( Pion ) ; imshow ( Poziom ) ; Lena=imread ( " lena png" ) ; imshow ( Lena ) ; // moˆ na zmieniaä skalä TM! : ima = imresize ( Lena, 0 5 ) ; imb = imresize ( Lena, 1 5, " b i l i n e a r " ) ; a=imresize ( ima, 2 ) ; imshow ( a ) ; imshow (10 imabsdiff ( Lena, a ) ) ; // to j e s t juˆ de f a c t o f i l t r do wykrywania krawä TM dzi! imc = imresize ( Lena, [ 1 0 0, 2 0 0 ], " b i c u b i c " ) ; 134 Funkcje trygonometryczne, czyli D¹wi k Pytamy, czy da si tak dobra by zgadzaªo si na funkcjach trygonometrycznych (kluczowe bo najcz ±ciej wyst puj w naturze, a oprócz tego bardzo istotne dla d¹wi ku) Jak dobra φ? Najpro±ciej: bierzemy ϕ(x) := sinc(πx), gdzie sinc(x) = sin(x)/x dla x 0 oraz 1 dla x = 0 (czasami si spotyka znormalizowane) Oczywi±cie, nie uda si nam zawsze odzyska, bo dla przykªadu funkcja sin(πx) pokrywa si na caªkowitych z funkcj stale równ zero Okazuje si,»e ta warto± jest graniczna (i dla cz sto±ci mniejszych ni» π si daje) Prosz sobie zobaczy na plik 4

Twierdzenie 11 (Twierdzenie Shannona o próbkowaniu) Niech f(t) = k 1 a k cos(α k t)+ k 1 sin(β kt), gdzie α k, β k [0, π) Wtedy f = f sinc(π ) Uwaga 11 Powy»sze twierdzenie mo»emy rozumie jako obserwacj,»e przy pewnych zaªo»eniach próbkowanie jest kompresj bezstratn zamiast pami ta caª funkcj wystarczy pami ta dla warto±ci na caªkowitych W ogólno±ci mo»emy powiedzie,»e je»eli w danej funkcji wyst puj cz stotliwo±ci mniejsze ni» pewne Ω (cz stotliwo± to jeden przez okres), to wystarczy do odtworzenia próbkowa co T = 1 2Ω staªa Nyquista (Nyquist frequency) Albo inaczej mówi c: trzeba próbkowa przynajmniej dwa razy cz ±ciej ni» minimalny okres z rozkªadu na cz stotliwo±ci (funkcja sin(πx) ma okres dwa, czyli»eby j odtworzy trzeba próbkowa z okresem T mniejszym ni» 1) W konsekwencji poniewa» czªowiek nie sªyszy cz stotliwo±ci wy»szych ni» 22kHz, pªyty muzyczne maj cz sto± próbkowania 441kHz Prosz sobie uruchomi nast puj cy program/skrypt napisany w Scilabie: // dokonuj probkowania danej f u n k c j i // domyslnie b i o r e 50 w przod i t y l od x // probkujemy co T function y=aproks ( f, x, T ) y=zeros (1, s i z e ( x, "c" ) ) ; for i=1: s i z e ( x, "c" ) for k=round( x ( i ) /T ) T 50 T : T : round( x ( i ) /T ) T+50 T y ( i )=y ( i )+f ( k ) sinc ( %pi ( x ( i ) k ) /T ) ; end end endfunction // zle, bo za rzadko clf ( ) ; x = 20:001:20; y=aproks ( sin, x, 4 ) ; plot ( x, y ) ; plot ( x, sin ( x ) ) ; // dobrze bo s i n u s ktorego okres j e s t 2 Pi probkujemy co 3<(2 Pi ) /2 clf ( ) ; x = 20:001:20; y=aproks ( sin, x, 3 ) ; plot ( x, y ) ; plot ( x, sin ( x ) ) ; 5