Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki. Jarosław Piersa piersaj(at)mat.uni.torun.pl
|
|
- Izabela Janowska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Jarosław Piersa piersaj(at)mat.uni.torun.pl Numer albumu Informatyka, rok V Wstęp do przetwarzania sygnałów i obrazów Dokumentacja projektu Toruń 2008r Abstrakt Praca poniższa jest dokumentacją do projektu wykonanego w ramach laboratorium Wstępu do przetwarzania Sygnałów i Obrazów, prowadzonego przez dr. Marię Berndt-Schreiber na WMiI UMK w roku akademickim 2007/2008 w semestrze letnim. Projekt umożliwia wykonywanie podstawowych operacji na obrazach w odcieniach szarości: filtracje przestrzenne, malowanie technikami półtonów, transformata Fouriera, dodawanie szumu, poddawanie obrazu operacjom w pakiecie Matlab. Program został zaimplementowany w Javie IcedTea w środowisku programistycznym Eclipse 3.3.
2 Spis treści 1 Opis techniczny Specyfikacja techniczna Otwieranie i zapisywanie plików Technika półtonów Filtry przestrzenne Transformata Fouriera Szum Szum Gaussowski Szum impulsowy Niestandardowe funkcje pakietu Matlab Wybór ścieżki do Matlaba Duplikowanie Pikseli Modyfikowanie skali szarości Transformacje intensywności pikseli Prezentacja wyników Technika Półtonów Filtry Przestrzenne Transformata Fouriera Szum Niestandardowe Funkcje Matlaba Listingi kodu źródłowego Przechowywanie obrazu Filtr obrazów Malowanie półtonami Transformata Fouriera Szum Matlab Bibliografia 20 1
3 Rozdział 1 Opis techniczny 1.1 Specyfikacja techniczna Program napisany został z użyciem standardowych bibliotek Javy. Informacje o obrazie przechowywane są w kasie java.awt.image.bufferedimage, ograniczonej do obrazów w odcieniach szarości. Interfejs graficzny został napisany z użyciem bibliotek Swing. Wymagania programu: Środowisko Java Runtime Environment w wersji 1.6, Procesor Pentium 2800 MHz, Pamięć operacyjna 1.25 GB, Wolna przestrzeń dyskowa ok. 10 MB (nie licząc plików graficznych), Pakiet Matlab (opcjonalnie; specyfikacja nie uwzględnia wymagań Matlaba). Standardowe biblioteki wejścia i wyjścia Javy zapewniają pełne wsparcie dla formatu graficznego GIF. Kompatybilność z innymi formatami, w szczególności JPEG i BMP, może być zależna od rodzaju środowiska Javy lub / i systemu operacyjnego. 1.2 Otwieranie i zapisywanie plików Otwieranie pliku graficznego do edycji możliwe jest poprzez wybranie polecenia Otwórz w menu Plik. Akceptowane są obrazy w formatach graficznych GIF, JPEG oraz PNG. Wszystkie operacje graficzne wykonywane są na zaznaczonym obrazie. Wybrany plik charakteryzuje się błękitnym kolorem okna. Gdy żaden obraz nie jest zaznaczony wykonanie operacji nie jest możliwe. Zapisywanie aktualnie wybranego obrazu możliwe jest poprzez polecenie Zapisz. Należy dodatkowo podać nazwę pliku i rozszerzenie, jeżeli domyślna nie jest satysfakcjonująca. 2
4 UWAGA Obsługiwane formaty zapisu mogą zależeć od zainstalowanej wersji Javy. Wskazane jest korzystanie z formatu GIF. 1.3 Technika półtonów Ten moduł programu pozwala na przybliżanie obrazu w odcieniach szarości obrazem binarnym. Działa w sposób blokowy. Każdemu blokowi o rozmiarze 3 3 w oryginalnym obrazie przyporządkowuje blok o tym samym rozmiarze w obrazie wynikowym. Nowy blok zawiera może zawierać jedynie dwie wartości 0 czyli czarny lub 255 biały. Pośrednie odcienie szarości przybliżane są poprzez odpowiednie proporcje białych i czarnych pikseli w bloku. Przybliżenie to bazuje na średniej arytmetycznej pikseli w oryginalnym obrazie. Półtony mogą być generowane w dwojaki sposób. Pierwszym jest predefiniowane ułożenie pikseli białych i czarnych w masce, zależnie od ich proporcji. W drugim pozycje pikseli są generowane losowo natomiast sumaryczne ich ilość pozostaje niezmieniona. 1.4 Filtry przestrzenne Ten moduł pozwala na poddawanie obrazów procesowi filtracji. Od strony matemetycznej proces wygląda następująco: Dany niech będzie obraz wejściowy o wymiarach m n, oznaczmy wartość piksela (x, y) na tym obrazie przez px, y, Dana nich będzie maska filtru o wymiarach nieparzystych k l, oznaczmy poprzez q(x, y) wartość maski na pozycji (x, y), x (0..k) oraz y (0..l). Niech wyjściowy obraz będzie oznaczony jako r. Jego wymiary wynoszą m n. Wartość pikseli liczona jest następująco r(x, y) = k 1 2 i= k 1 2 l 1 2 j= l 1 2 p(x + i, y + j) m(i + k 1, j + l ) Program udostępnia kilka filtrów predefiniowanych, oraz możliwość edycji własnego filtru. Na filtry własne zostały nałożone następujące ograniczenia: Wymiary maski muszą być liczbami nieparzystymi większymi od 1 oraz mniejszymi niż 25. Wartości wpisywane w pola maski muszą być całkowite. W razie konieczności należy dodatkowo ustawić wspólny dzielnik dla maski. Finalna wartość będzie ilorazem wpisanej wartości w masce i dzielnika. Dzielnik nie może być zerem. 3
5 1.5 Transformata Fouriera Ten moduł pozwala na obliczenie transformaty Fouriera dla obrazy. Zaimplementowano algorytm szybkiej transformaty Fouriera (FFT), co za tym idzie wymagane są wymiary obrazu będące potęgami liczby 2. Program automatycznie poszerza obraz do odpowiednich rozmiarów. W oknie dialogowym FFT należy wybrać następujące parametry: Typ obrazu wynikowego, dostępne są opcje: Amplituda Re(z) 2 + Im(z) 2, Faza obrazu atan( Im(z) Re(z) ), Czy obraz ma być przesunięty do środka transformaty, Czy dokonać transformacji logarytmicznej po obliczeniach, Skalar do transformacji logarytmicznej. 1.6 Szum Te opcje pozwalają na zaszumianie obrazu szumem Gaussowskim, lub szumem impulsowym Szum Gaussowski Szum Gaussowski polega na dodaniu do każdego piksela liczby losowanej niezależnie z rozkładu normalnego N(µ, σ 2 ). W oknie dialogowym należy podać parametry: µ wartość oczekiwana rozkładu, jest liczbą rzeczywistą, σ 2 wariancja rozkładu, σ 2 R > Szum impulsowy Szum impulsowy, lub tzw. szum sól i pieprz, obliczany jest w sposób niezależny dla każdego piksela według poniższych wzorów val 1 z prawdopodobieństwem p 1 P n = val 2 z prawdopodobieństwem p 2 P s z prawdopodobieństwem 1 p 1 p2 W oknie dialogowym należy podać wartości parametrów: p 1 prawdopodobieństwo zaszumienia wartością val 1, p 1 0, p 2 prawdopodobieństwo zaszumienia wartością val 2, p 1 0, p 1 + p 2 1, val 1 wartość piksela, wstawiana z prawdopodobieństwem p 1, 0 val val 2 wartość piksela, wstawiana z prawdopodobieństwem p 2, 0 val
6 1.7 Niestandardowe funkcje pakietu Matlab Program dodatkowo pozwala na wywoływanie niektórych funkcjipakietu Matlab. Pakiet Matlab musi być zainstalowany oddzielnie. Wsparcie dotyczy wyłącznie Matlaba w środowisku Windows Wybór ścieżki do Matlaba Opcja ta pozwala ręczne sprecyzownie ścieżki do pliku wykonywalnego lub skryptu startuwego Matlaba. Może się okazać niezbędna w sytuacji gdy Matlab nie jest dostępny w domyślnym katalogu, bądź występuje pod inną niż domyślna nazwą. W oknie dialogowym należy wybrać plik wykonywalny: matlab.bat w systemie windows lub matlab na Linuxie Duplikowanie Pikseli Ten skrypt pozwala na zwiększanie rozmiaru obrazu poprzez duplikowanie pikseli. Wymaga sprecyzowania dwóch parametrów m, n N. Odpowiadają one za skalowanie obrazu w poziomie i w pionie odpowiednio Modyfikowanie skali szarości Opcje te zmieniają zakrez skali szarości danego oprazu. Dostępne są opcje: full8 zakres ośmiobitowy dający 256 kolorów, full16 zakres 16-bitowy daje kolorów, minmax zakres dobrany przez użytkownika, powoduje przeskalowanie wartości pikseli na przedział [min, max], min, man [0..1], min max Transformacje intensywności pikseli Operacje te modyfikuję poziom intensywności pikseli obrazu. następujące tryby: Dostępne są neg negatyw obrazu, nie wymaga ddakowych parametrów. log transformacja logrytmiczna obrazu, wymaga parametru skalującego wynik, gamma transformacja gamma (lub korekcja gamma), wymaga jednego parametru odpowiedzialnego za wynikowy kontrast, stretch transformacja kontrastująca, wymaga dwóch parametrów. 5
7 Rozdział 2 Prezentacja wyników 2.1 Technika Półtonów Poniżej zaprezentowane są wyniki działania techniki półtonów dla różnych obrazów. Jak widać na załączonych ilustracjach choć ilość poziomów kwantyzacji została zredukowana do dwóch obraz nadal jest czytelny. Technika półtonów predefiniowanych wydaje się dawać obraz płytszy i w mniejszej ilości odcieni, ale też znacznie bardziej regularny. Gdy półtony były generowane losowo, obraz zyskiwał delikatniejszy światłocień. Jednocześnie sprawia wrażenie silnie zaszumionego nieregularnym rozkładem pikseli. Aby uzyskać optymalne wrażenie należy oddalić się na pewną odległość. Może to nie być widoczne na zamieszczonych obrazach, ale obraz otrzymany pierwszą z metod jest znacznie bardziej podatny na efekt Moire przy skalowaniu. 2.2 Filtry Przestrzenne Poniżej zostaną przedstawione efekty działania niektórych filtrów na wybranych obrazach. Filtr Gaussowski ma właściwości rozmywające. Zaprezentowane są od lewej: obraz oryginalny, po przefiltrowaniu jednokrotnym, po przefiltrowaniu trzykrotnym. Można zaobserwować postępujące rozmycie obrazu. Widać że wyraźnie zostały wzmocnione krawędzie: pionowe dla filtru Sobela Y i poziome dla filtru X. Co jednak ciekawe filtr omija krawędzie gdy ciemniejszy obszar znajduje się powyżej (w przypadku filtru X) lub na lewo (filtr Y) od krawędzi. W edytorze filtrów dodatkowo zdefiniowano filtr Laplace a, a następnie poddano obraz filtracji. Jak widać wychwycone zostały wszystkie krawędzie, zarówno poziome jak i pionowe. Z drugiej jednak strony są one znacznie cieńsze, 6
8 (a) Obraz zawierający kolejne wartości szarości, ten sam obraz malowany techniką półtonów, tenże obraz malowany techniką półtonów losowych. (b) Plik poltony1.jpg. Od lewej: Obraz oryginalny, obraz malowany techniką półtonów. (c) Plik poltony1.jpg. półtonów losowych. malowany techniką Rysunek 2.1: Malowanie techniką półtonów dla obrazu prerenderowanago i pliku Lena.jpg. 7
9 Rysunek 2.2: Plik text.jpg. Obraz oryginalny, obraz po jednokrotnym zastosowaniu filtru Gaussa, po trzykrotnym przefiltrowaniu. przez co mniej widoczne. Przemnożenie wynikowego obrazu przez 2 znacznie poprawiło kontrast. 2.3 Transformata Fouriera Poniżej zostały zaprezentowane wyniki działania FFT dla obrazu testpat1.jpg. Wymiary pliku wynoszą Zamieszczone są zarówno amplituda jak i faza, w wersjach bez przesunięć do środka transformaty oraz z nimi, i dodatkowo po logarytmowaniu z różnymi skalarami (rysunek 2.4). 2.4 Szum Rysunki prezentują działanie szumów dodanych do pliku circuit.jpg. Zastosowane szumy: gaussowski(0, 200), gaussowski(0, 400), impulsowy(0.05, 0, 0.05, 255), impulsowy(0.05, 0, 0.00, 255), impulsowy(0.00, 0, 0.05, 255). Widoczna jest wyraźna strata jakości, ale widać również że typy szumów nie są do siebie podobne. 2.5 Niestandardowe Funkcje Matlaba Ponizej zostaly przedstawione wyniki działania funkcji matlabowskich dla obrazu Leny (lena.jpg). Zamieszczone zostały negatyw, transformacje logarytmiczne i gamma, moduł stretch oraz konwersja skali szarości minmax. 8
10 (a) Plik oryginalny. (b) Po zaaplikowaniu filtrów Sobela X i Y. (c) Po zaaplikowaniu filtru Laplace a w edytorze filtrów oraz dodatkowo po przemnożeniu wartości pikseli przez 2. Rysunek 2.3: Plik tyre.jpg poddawany różnym filtrom. 9
11 (a) Obraz oryginalny. (b) Obraz amplitudy. (c) Obraz amplitudy po przesunięciu do środka transformaty (d) Obraz amplitudy po przesunięciu i transformacji logarytmicznej z parametrem 11. (e) Obraz amplitudy po przesunięciu i transformacji logarytmicznej z parametrem 33. (f) Obraz amplitudy po przesunięciu i transformacji logarytmicznej z parametrem 66. (g) Obraz fazy po transformacji logarytmicznej z parameciu i logarytmowaniu z para- (h) Obraz fazy po przesuniętrem 100. metrem 100. Rysunek 2.4: FFT dla pliku testpat1.jpg 10
12 (a) Obraz oryginalny. (b) Obraz z szumem gaussowskim µ = 0, σ 2 = 200. (c) Obraz z szumem gaussowskim µ = 0, σ 2 = 400. (d) Obraz z szumem impulsowym p 1 = 0.05, p 2 = 0.05, val 1 = 0, val 2 = 255. (e) Obraz z szumem impulsowym p 1 = 0.05, p 2 = 0.00, val 1 = 0, val 2 = 255. Rysunek 2.5: Szum dla pliku circuit.jpg (f) Obraz z szumem impulsowym p 1 = 0.00, p 2 = 0.05, val 1 = 0, val 2 =
13 (a) Obraz oryginalny. (b) Obraz po duplikacji pikseli m = n = 2. (c) Obraz po zmianie skali (d) Obraz po zmianie skali (e) Obraz w negatywie (intransbis.m) szarości min = 0, max = 0.5 szarości min = 0.25, max = (gscale.m) (gscale.m). (f) Obraz po operacji logarytmowania ze skalarem równym γ = 0.2 (intransbis.m). m = 0.2, e = 0.5 (intrans- (g) Obraz po korekcji gamma (h) Obraz po operacji stretch 10 (intransbis.m). bis.m). Rysunek 2.6: Niestandardowe funkcje Matlaba dla obrazu Leny 12
14 Rozdział 3 Listingi kodu źródłowego 3.1 Przechowywanie obrazu Obrazy w programie są przechowywane w klasie GrayImage.java. Wewnętrznie dane są przechowywane w java.awt.image.bufferedimage jednakże ograniczono dostęp do niech dostęp. Możliwe jest jedynie podawanie wartości pikseli które są odcieniami szarości (tj. mają równe składowe R, G i B). public class GrayImage { protected BufferedImage bi = null; public int getpixel(int x, int y){ int width = bi.getwidth(); int height = bi.getheight(); if (x>=0 && x< width && y>=0 && y< height){ int r = getred(bi.getrgb(x, y)); int g = getred(bi.getrgb(x, y)); int b = getred(bi.getrgb(x, y)); return (r+g+b) /3; } // if return 0; } // getpixel(int, int) public void setpixel(int x, int y, int val){ int width = bi.getwidth(); int height = bi.getheight(); val = val < 0? 0 : val; val = val > 255? 255 : val; if (x>=0 && x< width && y>=0 && y< height){ bi.setrgb(x, y, val + 256*val + 256^2*val + 256^3*255); } // if } // setpixel(int, int, int) (...) } // class 13
15 3.2 Filtr obrazów Klasa ImageFilter.java impementuje operację filtrowania obrazu. Po ustaleniu maski filtru i podaniu obrazu wejściowego tworzony jest nowy obraz o identycznych wymiarach, do którego zapisywane są wartości pikseli po przefitrowaniu. private float [][] maska = (...); public GrayImage filtrujobraz(grayimage im){ GrayImage ret = new GrayImage(im.getWidth(), im.getheight()); ret.setnazwa( im.getnazwa()); for (int i=0; i< im.getwidth(); i++) for (int j=0; j<im.getheight(); j++){ int val = filtrujsasiedztwo(im, i, j); ret.setpixel(i, j, val); } // for j return ret; } // filtrujobraz(gi) private int filtrujsasiedztwo(grayimage im, int x, int y){ float suma = 0; int m = (maska.length -1 ) /2; int n = (maska[0].length -1 ) /2; for (int i=-m; i<=+m; i++) for (int j=-n; j<=+n; j++) suma += im.getpixel(x+i, y+j) * maska[i+m][j+n]; int ret = (int) suma; ret = ret<0? 0 : ret; ret = ret>255? 255 : ret; return ret; } //filtrujsasiadztwo(gi, int, int) 3.3 Malowanie półtonami Klasa Poltony.java impementuje malowanie obrazów technikami półtonów. Ustalono odgórnie wielkość bloku na 3 3. Dla każdego takiego bloku w źródłowym rysunku liczona jest średnia arytmetyczna poziomów szarości pikseli i przyporządkowywany jest odpowiadający blok pikseli (wyłącznie białych i czarnych) do wynikowego obrazu. public static GrayImage przetwozobraz(grayimage im){ int x = im.getwidth() + (3 - im.getwidth() %3); int y = im.getheight() + (3 - im.getheight() %3); GrayImage ret = new GrayImage(x, y); 14
16 for (int i=0; i< ret.getwidth(); i+=3){ for (int j=0; j<ret.getheight(); j+=3){ int srednia = obliczsredniazmaski3x3(im, i, j); int val = skalujbarwe(srednia); rysujpolton(ret, i, j, val); } // for j } // for i return ret; } // przetworzobraz private static void rysujpoltonlosowy(grayimage im, int startx, int starty, int val ){ val = val>=10? 9 : val; val = val<= 0? 0 : val; int[][] tab = generujlosowamaske(val); // tab = przypiszpredediniownamaske(val); // dla półtonów predefiniowanych for (int i=0; i<3; i++) for (int j=0; j<3; j++) im.setpixel(startx+i, starty + j, tab[i][j]); } // rysujpolton private static int[][] generujlosowamaske(int val){ int reszta = val <5? val :9 - val; int kolor = val<5? 255 : 0; int tlo = val<5? 0 : 255; int[][] maska = new int[3][3]; for (int i=0; i<3; i++) for (int j=0; j<3; j++) maska[i][j] = tlo; while (reszta>0){ int x = r.nextint(3); int y = r.nextint(3); if (maska[x][y] == tlo){ maska[x][y] = kolor; reszta --; } } // while return maska; } // generujlosowamaske() 15
17 3.4 Transformata Fouriera FFT na obrazach została zaimplementowana w klasie TransformataFouriera.java, jednakże, sama operacja FFT, znajduje się w Wielomian.java. Klasa TransformataFouriera.java jest interfejsem tłumaczącym zapis obrazu do postaci, na której możliwe jest wykonanie FFT i tłumaczącym wyniki z powrotem do formy graficznej. Odpowiada również za obliczenia amplirudy i fazy z wielomianu zespolinego. Właściwe obliczenia znajdują się w Wielomian.java. Jest to fragment kodu pisany na potrzeby innego projektu, jednakże po niewielkich modyfikacjach znakomicie sprawdza się również tu. Dodatkowo wykonuje operacje transformacji logarytmicznej, przed zapisaniem obrazu do bufora java.awt.bufferedimage. Klasa Wielomian operuje na liczbach zespolonych, ich implementacja znajduje się w klasie C.java. public static Wielomian FFT(int n, Wielomian f, Vector<C> omega){ Wielomian ret = null; if (n==1){ ret = new Wielomian(0); ret.setwspolczynnik(0, f.getwspolczynnik(0)); return ret; } // if // f = a(x^2) + x * b(x^2) // a[k] = f[2k] k=0..n/2 // b[k] = f[2k+1] k=0..n/2 Wielomian a = new Wielomian(n/2-1); for (int i = 0; i<n/2; i++) a.setwspolczynnik(i, f.getwspolczynnik(2*i)); Vector<C> va = new Vector<C>(); for (int i=0; i<(n/2)-1; i++) va.add( (C)omega.elementAt(2*i+1)); Wielomian b = new Wielomian(n/2-1); for (int i = 0; i<n/2; i++) b.setwspolczynnik(i, f.getwspolczynnik(2*i+1)); Wielomian alfa = FFT(n/2, a, va); Wielomian beta = FFT(n/2, b, va); Wielomian gamma = new Wielomian(n-1); // gamma[i] = alfa[i] + w^i * beta[i]; // gamma[i+n/2] = alfa[i] - w^i * beta[i]; for (int i=0; i< n/2; i++){ C c = C.plus( alfa.getwspolczynnik(i), C.mult((C)omega.elementAt(i), beta.getwspolczynnik(i))); gamma.setwspolczynnik(i, c); c = C.minus( alfa.getwspolczynnik(i), C.mult((C)omega.elementAt(i), beta.getwspolczynnik(i))); 16
18 gamma.setwspolczynnik( i+n/2, c); } // for i return gamma; } // FFT 3.5 Szum Za dodawanie szumu do obrazu odpowiedzialne są klasy SzumGaussowski.java oraz SzumImpulsowy.java. Wykorzystano generator liczb pseudolosowych ze standardoeych bibiotek Javy java.utils.random. Zaszumianie pikseli następuje niezależnie od siebie. Wartość pikseli po zaszumieniu jest przybliżana do najbliższej dopuszczalnej wartości dla pikseli tj liczby całkowitej z przedziału [0..255]. Implementacja Szumu Gaussowskiego. public class SzumGaussowski { private static Random r = new Random(); public static GrayImage dodajszum(grayimage im, double mu, double sigmakw){ GrayImage ret = new GrayImage(im.getWidth(), im.getheight()); double sigma = Math.sqrt(sigmaKw); for (int i=0; i<im.getwidth(); i++){ for (int j=0; j< im.getheight(); j++){ double val = im.getpixel(i, j); val += r.nextgaussian() * sigma + mu; ret.setpixel(i, j, (int)val); } // for j } // for i return ret; } // dodajszum() } // class Implementacja sziumu Impulsowego. public class SzumImpulsowy { private static Random r = new Random(); public static GrayImage dodajszum(grayimage im, double p1, int val1, double p2,int val2){ GrayImage ret = new GrayImage(im.getWidth(), im.getheight()); for (int i=0; i<im.getwidth(); i++){ for (int j=0; j< im.getheight(); j++){ double val = im.getpixel(i, j); val = losujwartoscpola((int)val, val1, p1, val2, p2); ret.setpixel(i, j, (int)val); } // for j } // for i 17
19 return ret; } // dodajszum private static int losujwartoscpola(int val0, int val1, double p1, int val2, double p2){ double d = r.nextdouble(); if (0 < d && d < p1){ return val1; } else if (p1<d && d < p1 +p2) { return val2; } else /* p1+p2 <= d <=1 */ { return val0; } // if.. else } // losujwartoscpolapozaszumieniu() } //class 3.6 Matlab Poddawanie oprazów operacjom Matlaba zaimplementowane zostało w klasie WpsoMainWindow.java. Okna dialogowe pozwalają na wybór parametrów polecenia. Operacja jest wykonywana na kopii obrazu, która zostaje skonwertowana automatycznie do formatu gif, oraz zapisana pod nazwą zawierającą losowy łańcuch. Po zakończeniu programu pliki tymczasowe są usuwane. Wywołanie matlaba następuje w poniższy sposób. public void wykonajmatlabgscale(string parametry){ GrayImage giold = ((FrameGrayImage) desktoppane.getselectedframe()).getgi(); String sciezka = giold.getnazwa() + Random.nextInt() + ".gif"; sciezka = (new File(sciezka)).getAbsolutePath(); GrayImage gitmp = new GrayImage(giold.getBI()); zapisz(gitmp.getbi(), sciezka); new File(sciezka).deleteOnExit(); String bierzacyfolder = new File("./matlab").getAbsolutePath(); String skrypt = "\"cd " + bierzacyfolder +";"; skrypt += "I = imread( " + sciezka + " );"; skrypt += "I2 = gscale(i, " +parametry+ " );"; skrypt += "imshow(i2);\""; wykonajskryptmatlabem(skrypt); } // wykonajmatlabgscale() private void wykonajskryptmatlabem(string skrypt){ if ((new File(matlabSciezka)).exists() == false ){ JOptionPane.showMessageDialog(...); 18
20 return; } // if try { Runtime.getRuntime().exec(matlabSciezka +" -nodesktop"+ "-nojvm -r " + skrypt); } catch (IOException ex){ JOptionPane.showMessageDialog(...); System.err.format("%s\n", ex); } // try.. catch } // wykonajskrypt 19
21 Bibliografia [1] Notatki z wykładu WPSO. [2] Ryszard Paweł Kostecki, W miarę krótki i praktyczny kurs L A TEX-a w π e minut. [3] Java TM 2 Platform Standard Edition 5.0 API Specification, strona www: ( 20
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ółowoMetody Metody, parametry, zwracanie wartości
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca
Bardziej szczegółowoImplementacja filtru Canny ego
ANALIZA I PRZETWARZANIE OBRAZÓW Implementacja filtru Canny ego Autor: Katarzyna Piotrowicz Kraków,2015-06-11 Spis treści 1. Wstęp... 1 2. Implementacja... 2 3. Przykłady... 3 Porównanie wykrytych krawędzi
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Bardziej szczegółowoDiagnostyka 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ółowoCyfrowe Przetwarzanie Obrazów i Sygnałów
Cyfrowe Przetwarzanie Obrazów i Sygnałów Laboratorium EX Lokalne transformacje obrazów Joanna Ratajczak, Wrocław, 28 Cel i zakres ćwiczenia Celem ćwiczenia jest zapoznanie się z własnościami lokalnych
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Bardziej szczegółowoPrzetwarzanie 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ółowoBIBLIOTEKA 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ółowoInformatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki
Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
Bardziej szczegółowoParametryzacja 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ółowoPolitechnika Ś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ółowoJęzyki i metody programowania Java. Wykład 2 (część 2)
Języki i metody programowania Java INF302W Wykład 2 (część 2) Autor Dr inż. Zofia Kruczkiewicz 1 Struktura wykładu 1. Identyfikacja danych reprezentowanych przez klasy podczas opracowania koncepcji prostego
Bardziej szczegółowoKlasy i obiekty cz II
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy
Bardziej szczegółowoWyższa Szkoła Informatyki Stosowanej i Zarządzania
Wyższa Szkoła Informatyki Stosowanej i Zarządzania Grupa ID308, Zespół 11 PRZETWARZANIE OBRAZÓW Sprawozdanie z ćwiczeń Ćwiczenie 6 Temat: Operacje sąsiedztwa wyostrzanie obrazu Wykonali: 1. Mikołaj Janeczek
Bardziej szczegółowoRaport. Bartosz Paprzycki xed@mat.umk.pl UMK 2009/2010
Raport Bartosz Paprzycki xed@mat.umk.pl UMK 2009/2010 1. Wykrywanie krawędzi 1.0. Obraz oryginalny 1. 1.1. Sobel. Parametry: domyślne. 1.2. Prewitt. Parametry: domyślne. 1.3. Roberts. Parametry: domyślne.
Bardziej szczegółowoSpoś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ółowoJAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Bardziej szczegółowoKRYPTOGRAFIA I OCHRONA DANYCH PROJEKT
KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT Temat: Zaimplementować system kryptografii wizualnej http://www.cacr.math.uwaterloo.ca/~dstinson/visual.html Autor: Tomasz Mitręga NSMW Grupa 1 Sekcja 2 1. Temat projektu
Bardziej szczegółowoInformatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Bardziej szczegółowoDiagnostyka obrazowa
Diagnostyka obrazowa Ćwiczenie szóste Transformacje obrazu w dziedzinie częstotliwości 1. Cel ćwiczenia Ćwiczenie ma na celu zapoznanie uczestników kursu Diagnostyka obrazowa z podstawowymi przekształceniami
Bardziej szczegółowoLaboratorium Cyfrowego Przetwarzania Obrazów
Laboratorium Cyfrowego Przetwarzania Obrazów Ćwiczenie 4 Filtracja 2D Opracowali: - dr inż. Krzysztof Mikołajczyk - dr inż. Beata Leśniak-Plewińska - dr inż. Jakub Żmigrodzki Zakład Inżynierii Biomedycznej,
Bardziej szczegółowoWyższa Szkoła Informatyki Stosowanej i Zarządzania
Wyższa Szkoła Informatyki Stosowanej i Zarządzania WIT Grupa IZ06TC01, Zespół 3 PRZETWARZANIE OBRAZÓW Sprawozdanie z ćwiczeń laboratoryjnych Ćwiczenie nr 5 Temat: Modelowanie koloru, kompresja obrazów,
Bardziej szczegółowoUkłady VLSI Bramki 1.0
Spis treści: 1. Wstęp... 2 2. Opis edytora schematów... 2 2.1 Dodawanie bramek do schematu:... 3 2.2 Łączenie bramek... 3 2.3 Usuwanie bramek... 3 2.4 Usuwanie pojedynczych połączeń... 4 2.5 Dodawanie
Bardziej szczegółowoPrzetwarzanie obrazów wykład 6. Adam Wojciechowski
Przetwarzanie obrazów wykład 6 Adam Wojciechowski Przykłady obrazów cyfrowych i ich F-obrazów Parzysta liczba powtarzalnych wzorców Transformata Fouriera może być przydatna przy wykrywaniu określonych
Bardziej szczegółowoWykład 4: Klasy i Metody
Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to
Bardziej szczegółowoProjekt 2: Filtracja w domenie przestrzeni
Projekt 2: Filtracja w domenie przestrzeni 1. 2. Wstęp teoretyczny a. Filtracja w domenie przestrzeni b. Krótko o szumie c. Filtracja d. Usuwanie szumu typu Salt and Pepper filtrem medianowym e. Wnioski
Bardziej szczegółowoZastosowanie Informatyki w Medycynie
Zastosowanie Informatyki w Medycynie Dokumentacja projektu wykrywanie bicia serca z sygnału EKG. (wykrywanie załamka R) Prowadzący: prof. dr hab. inż. Marek Kurzyoski Grupa: Jakub Snelewski 163802, Jacek
Bardziej szczegółowoProgramowanie w Javie
Programowanie w Javie Andrzej Czajkowski Lista nr 0 Debugger w Javie Celem ćwiczenia jest poznanie podstawowych funkcji narzędzia debugera (odpluskwiacz) w środowisku Eclipse. Po ukończeniu ćwiczenia student
Bardziej szczegółowoDetekcja twarzy w obrazie
Detekcja twarzy w obrazie Metoda na kanałach RGB 1. Należy utworzyć nowy obrazek o wymiarach analizowanego obrazka. 2. Dla każdego piksela oryginalnego obrazka pobiera się informację o wartości kanałów
Bardziej szczegółowoakademia androida Składowanie danych część VI
akademia androida Składowanie danych część VI agenda 1. SharedPreferences. 2. Pamięć wewnętrzna i karta SD. 3. Pliki w katalogach /res/raw i /res/xml. 4. Baza danych SQLite. 5. Zadanie. 1. SharedPreferences.
Bardziej szczegółowoJava Platform Micro Edition
Java Platform Micro Edition Instalacja środowiska programistycznego Java Platform Micro Edition Software Development Kit 3.0 for Windows z lokalizacji http://www.oracle.com/technetwork/java/javame/downloads/sdk30-jsp-139759.html
Bardziej szczegółowoJęzyk ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Bardziej szczegółowoSystemy multimedialne 2015
Systemy multimedialne 2015 Nazwa nowej warstwy nie ma znaczenia pod względem funkcjonalnym. Warto jednak ją nadać, łatwiej możemy się wtedy poruszać po bardziej rozbudowanym projekcie. Domyślny rozmiar
Bardziej szczegółowoGIMP Grafika rastrowa (Ćwiczenia cz. 2)
Zjazd 1 GIMP Grafika rastrowa (Ćwiczenia cz. 2) Zaznaczenia Aby zacząć profesjonalnie rysować w programie GIMP należy opanować tematykę zaznaczeń. Zaznaczenia (inaczej maski) służą do zaznaczania obszarów
Bardziej szczegółowoDokumentacja do API Javy.
Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu
Bardziej szczegółowoZaawansowane aplikacje WWW - laboratorium
Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w
Bardziej szczegółowoNarzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
Bardziej szczegółowoPROBLEMY TECHNICZNE. Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS
PROBLEMY TECHNICZNE Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS Jeżeli stwierdziłeś występowanie błędów lub problemów podczas pracy z programem DYSONANS możesz skorzystać
Bardziej szczegółowoZygmunt Wróbel i Robert Koprowski. Praktyka przetwarzania obrazów w programie Matlab
Zygmunt Wróbel i Robert Koprowski Praktyka przetwarzania obrazów w programie Matlab EXIT 2004 Wstęp 7 CZĘŚĆ I 9 OBRAZ ORAZ JEGO DYSKRETNA STRUKTURA 9 1. Obraz w programie Matlab 11 1.1. Reprezentacja obrazu
Bardziej szczegółowoWyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.
Wyjątki Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wydaje się, że żaden użytkownik oprogramowania nie lubi, kiedy stosowany program nagle zawiesza się,
Bardziej szczegółowoDiagnostyka obrazowa
Diagnostyka obrazowa Ćwiczenie piate Filtrowanie obrazu Cel ćwiczenia Ćwiczenie ma na celu zapoznanie uczestników kursu Diagnostyka obrazowa z pojęciami szumu na obrazie oraz metodami redukcji szumów przez
Bardziej szczegółowoWyższa Szkoła Informatyki Stosowanej i Zarządzania
Wyższa Szkoła Informatyki Stosowanej i Zarządzania Grupa ID308, Zespół 11 PRZETWARZANIE OBRAZÓW Sprawozdanie z ćwiczeń Ćwiczenie 8 Temat: Operacje sąsiedztwa detekcja krawędzi Wykonali: 1. Mikołaj Janeczek
Bardziej szczegółowoSposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby
Bardziej szczegółowoĆwiczenie 1. Przygotowanie środowiska JAVA
Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.
Bardziej szczegółowoUML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.
UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami
Bardziej szczegółowoLaboratorium Cyfrowego Przetwarzania Obrazów
Laboratorium Cyfrowego Przetwarzania Obrazów Ćwiczenie 2 Histogram i arytmetyka obrazów Opracowali: - dr inż. Beata Leśniak-Plewińska - dr inż. Jakub Żmigrodzki Zakład Inżynierii Biomedycznej, Instytut
Bardziej szczegółowoWYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.
WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy
Bardziej szczegółowo1 Moduł Modbus ASCII/RTU 3
Spis treści 1 Moduł Modbus ASCII/RTU 3 1.1 Konfigurowanie Modułu Modbus ASCII/RTU............. 3 1.1.1 Lista elementów Modułu Modbus ASCII/RTU......... 3 1.1.2 Konfiguracja Modułu Modbus ASCII/RTU...........
Bardziej szczegółowoOpis Edytora postaci Logomocji
Opis Edytora postaci Logomocji Przyciski na pasku narzędzi Przyciski Wygląd Opis W Edytorze postaci można otwierać pliki o rozszerzeniach: Otwórz plik postaci lgf (plik Edytora postaci), imp (plik projektu
Bardziej szczegółowoAplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Graficzny Interfejs Użytkownika mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Spis treści Graficzny Interfejs
Bardziej szczegółowoWykład 7: Pakiety i Interfejsy
Wykład 7: Pakiety i Interfejsy Plik Źródłowy w Javie Składa się z: instrukcji pakietu (pojedyncza, opcjonalna) instrukcji importujących (wielokrotne, opcjonalne) deklaracji klasy publicznej (pojedyncza,
Bardziej szczegółowoĆwiczenie 12 Różdżka, szybkie zaznaczanie i zakres koloru
Ćwiczenie 12 Różdżka, szybkie zaznaczanie i zakres koloru Różdżka 1. zaznacza wszystkie piksele o podobnym kolorze w zakresie Tolerancji ustalanej na pasku Opcji, 2. ma zastosowanie dla obszarów o dość
Bardziej szczegółowoEDYCJA TEKSTU MS WORDPAD
EDYCJA TEKSTU MS WORDPAD EDYCJA TEKSTU - MS WORDPAD WordPad (ryc. 1 ang. miejsce na słowa) to bardzo przydatny program do edycji i pisania tekstów, który dodatkowo dostępny jest w każdym systemie z rodziny
Bardziej szczegółowoProgramowanie Obiektowe GUI
Programowanie Obiektowe GUI Swing Celem ćwiczenia jest ilustracja wizualnego tworzenia graficznego interfejsu użytkownika opartego o bibliotekę Swing w środowisku NetBeans. Ponadto, ćwiczenie ma na celu
Bardziej szczegółowoJęzyk C zajęcia nr 11. Funkcje
Język C zajęcia nr 11 Funkcje W języku C idea podprogramów realizowana jest wyłącznie poprzez definiowanie i wywołanie funkcji. Każda funkcja musi być przed wywołaniem zadeklarowana. Deklaracja funkcji
Bardziej szczegółowoDiagnostyka obrazowa
Diagnostyka obrazowa 1. Cel ćwiczenia Ćwiczenie piąte Filtrowanie obrazu Ćwiczenie ma na celu zapoznanie uczestników kursu Diagnostyka obrazowa z pojęciami szumu na obrazie oraz metodami redukcji szumów
Bardziej szczegółowoWPROWADZENIE DO JĘZYKA JAVA
WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny
Bardziej szczegółowoLaboratorium 03: Podstawowe konstrukcje w języku Java [2h]
1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie
Bardziej szczegółowoEGZAMIN MATURALNY Z INFORMATYKI MAJ 2013 POZIOM PODSTAWOWY CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY
Centralna Komisja Egzaminacyjna Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu. Układ graficzny CKE 2011 KOD WPISUJE ZDAJĄCY PESEL Miejsce na naklejkę z kodem EGZAMIN MATURALNY
Bardziej szczegółowoLaboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą
Bardziej szczegółowoKsię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ółowoWYDZIAŁ FIZYKI I INFORMATYKI STOSOWANEJ
WYDZIAŁ FIZYKI I INFORMATYKI STOSOWANEJ Hybrid Images Imię i nazwisko: Anna Konieczna Kierunek studiów: Informatyka Stosowana Rok studiów: 4 Przedmiot: Analiza i Przetwarzanie Obrazów Prowadzący przedmiot:
Bardziej szczegółowoProtokół JDBC współpraca z relacyjnymi bazami danych lab4. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych
Protokół JDBC współpraca z relacyjnymi bazami danych lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych Zadanie1 Połączenie z bazą danych travel systemu bazodanowego Derby (metoda void
Bardziej szczegółowoJAVA?? to proste!! Autor: wojtekb111111
1 JAVA?? to proste!! 2 Niniejszy tutorial przedstawia krótkie wprowadzenie do programowania w języku JAVA. Jakie narzędzia na początku potrzebujemy do rozpoczęcia programowania w tym języku? JDK (java
Bardziej szczegółowoCyfrowe Przetwarzanie Obrazów i Sygnałów
Cyfrowe Przetwarzanie Obrazów i Sygnałów Laboratorium EX3 Globalne transformacje obrazów Joanna Ratajczak, Wrocław, 2018 1 Cel i zakres ćwiczenia Celem ćwiczenia jest zapoznanie się z własnościami globalnych
Bardziej szczegółowoAnimacje cz. 2. Rysujemy koło zębate
Animacje cz. 2 1. Do wykonania poniższej animacji będziemy potrzebować dodatkowego desenia. Znajduje się on w folderze z instrukcją, żeby program Gimp mógł z niego skorzystać musimy wskazać mu ścieżkę
Bardziej szczegółowoFiltracja obrazów. w dziedzinie częstotliwości. w dziedzinie przestrzennej
Filtracja obrazów w dziedzinie częstotliwości w dziedzinie przestrzennej filtry liniowe filtry nieliniowe Filtracja w dziedzinie częstotliwości Obraz oryginalny FFT2 IFFT2 Obraz po filtracji f(x,y) H(u,v)
Bardziej szczegółowo3. OPERACJE BEZKONTEKSTOWE
3. OPERACJE BEZKONTEKSTOWE 3.1. Tablice korekcji (LUT) Przekształcenia bezkontekstowe (punktowe) to takie przekształcenia obrazu, w których zmiana poziomu szarości danego piksela zależy wyłącznie od jego
Bardziej szczegółowoJava. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego
Bardziej szczegółowoPrzetwarzanie obrazów wykład 4
Przetwarzanie obrazów wykład 4 Adam Wojciechowski Wykład opracowany na podstawie Komputerowa analiza i przetwarzanie obrazów R. Tadeusiewicz, P. Korohoda Filtry nieliniowe Filtry nieliniowe (kombinowane)
Bardziej szczegółowoPodstawy Przetwarzania Sygnałów
Adam Szulc 188250 grupa: pon TN 17:05 Podstawy Przetwarzania Sygnałów Sprawozdanie 6: Filtracja sygnałów. Filtry FIT o skończonej odpowiedzi impulsowej. 1. Cel ćwiczenia. 1) Przeprowadzenie filtracji trzech
Bardziej szczegółowoP R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H
W O J S K O W A A K A D E M I A T E C H N I C Z N A W Y D Z I A Ł E L E K T R O N I K I Drukować dwustronnie P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H Grupa... Data wykonania
Bardziej szczegółowoProgramowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
Bardziej szczegółowoCEL zapoznanie z programem do tworzenia rysunków i ukazanie możliwości Edytora obrazów do sporządzania rysunków i ikon.
Konspekt lekcji informatyki Rok szk. 2003/2004 Temat: Tworzenie ikon z wykorzystaniem Edytora obrazów Hasło programowe: Czas: Klasa: Nauczyciel: Rysowanie w Edytorze grafiki 45 min I Gimnazjum mgr inż.
Bardziej szczegółowoProste 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ółowoPython: JPEG. Zadanie. 1. Wczytanie obrazka
Python: JPEG Witajcie! Jest to kolejny z serii tutoriali uczący Pythona, a w przyszłości być może nawet Cythona i Numby Jeśli chcesz nauczyć się nowych, zaawansowanych konstrukcji to spróbuj rozwiązać
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 7 - wprowadzenie do metod mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 27 listopada 2017 1 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 1 - wprowadzenie do przedmiotu mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 16 października 2017 1 / 25 mgr inż. Krzysztof Szwarc Podstawy i
Bardziej szczegółowoZofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1
PODSTAWOWE ELEMENTY JĘZYKA JAVA WYRAŻENIA, OPERATORY, INSTRUKCJE 1. Operatory arytmetyczne +, -, /,*, % Przykład 1 programu z interfejsem konsolowym public class Lab2_1 // Tworzy generator liczb losowych,
Bardziej szczegółowoDiagnostyka obrazowa
Diagnostyka obrazowa Ćwiczenie szóste Transformacje obrazu w dziedzinie częstotliwości 1 Cel ćwiczenia Ćwiczenie ma na celu zapoznanie uczestników kursu Diagnostyka obrazowa z podstawowymi przekształceniami
Bardziej szczegółowoVinCent Administrator
VinCent Administrator Moduł Zarządzania podatnikami Krótka instrukcja obsługi ver. 1.01 Zielona Góra, grudzień 2005 1. Przeznaczenie programu Program VinCent Administrator przeznaczony jest dla administratorów
Bardziej szczegółowoJava - tablice, konstruktory, dziedziczenie i hermetyzacja
Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja
Bardziej szczegółowoZad.30. Czy można utworzyć klasę, która implementuje oba interfejsy?
Zad.28. Utwórz klasę, która implementuje oba interfejsy: public void pisz ( ) ; public void pisz ( ) ; Zad.29. Utwórz klasę, która implementuje oba interfejsy: public void pisz ( int l i c z b a ) ; public
Bardziej szczegółowoObszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),
Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których
Bardziej szczegółowoAdobe Photoshop lab. 3 Jacek Wiślicki, 1. Napisy (c.d.) Ogień Miód Metal Aqua...
Spis treści 1. Napisy (c.d.)...2 1.1. Ogień...2 1.2. Miód...5 1.3. Metal...9 1.4. Aqua...12 strona 1 z 14 1. Napisy (c.d.) Poniższe ćwiczenia stanowią kontynuację tworzenia stylizowanych napisów, jednak
Bardziej szczegółowoWykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor
Bardziej szczegółowoDr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI
Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku
Bardziej szczegółowoJava jako język programowania
Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)
Bardziej szczegółowoTECHNIKI MULTIMEDIALNE LABORATORIUM GIMP: Projektowanie tła
TECHNIKI MULTIMEDIALNE LABORATORIUM GIMP: Projektowanie tła 1. Cel ćwiczenia Celem ćwiczenia jest nabycie umiejętności tworzenia tła poprzez wykorzystanie funkcji dostępnych w programie GIMP. 2. Wiadomości
Bardziej szczegółowo1 Moduł Modbus ASCII/RTU
1 Moduł Modbus ASCII/RTU Moduł Modbus ASCII/RTU daje użytkownikowi Systemu Vision możliwość komunikacji z urządzeniami za pomocą protokołu Modbus. Moduł jest konfigurowalny w taki sposób, aby umożliwiał
Bardziej szczegółowoJak dodać własny szablon ramki w programie dibudka i dilustro
Aby dodać własną ramkę otwórz moduł administracyjny dibudkaadmin.exe, wejdź do zakładki Ramki, tła, id i następnie Edycja. 1. Kliknij przycisk Dodaj ramkę 2. Określ wymiary nowej ramki Jeżeli dodajesz
Bardziej szczegółowoGrafika Komputerowa Wykład 2. Przetwarzanie obrazów. mgr inż. Michał Chwesiuk 1/38
Wykład 2 Przetwarzanie obrazów mgr inż. 1/38 Przetwarzanie obrazów rastrowych Jedna z dziedzin cyfrowego obrazów rastrowych. Celem przetworzenia obrazów rastrowych jest użycie edytujących piksele w celu
Bardziej szczegółowoĆ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ółowoPodstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Bardziej szczegółowoPlan 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ółowoWstęp do programowania
wykład 6 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Losowanie liczb całkowitych Dostępne biblioteki Najprostsze losowanie liczb całkowitych można wykonać za pomocą funkcji
Bardziej szczegółowoPodstawy obiektowości
Podstawy obiektowości Zad. Zamówienie 1. Napisać program do obsługi zamówień. Program powinien składać się z dwóch klas: Zamowienie oraz Pozycja, przy czym każde zamówienie zawierać może jedną lub więcej
Bardziej szczegółowoĆwiczenia z grafiki komputerowej 5 FILTRY. Miłosz Michalski. Institute of Physics Nicolaus Copernicus University. Październik 2015
Ćwiczenia z grafiki komputerowej 5 FILTRY Miłosz Michalski Institute of Physics Nicolaus Copernicus University Październik 2015 1 / 12 Wykorzystanie warstw Opis zadania Obrazy do ćwiczeń Zadanie ilustruje
Bardziej szczegółowo