Techniki wizualizacji. Ćwiczenie 2. Obraz cyfrowy w komputerze

Wielkość: px
Rozpocząć pokaz od strony:

Download "Techniki wizualizacji. Ćwiczenie 2. Obraz cyfrowy w komputerze"

Transkrypt

1 Doc. dr inż. Jacek Jarnicki Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej jacek.jarnicki@pwr.wroc.pl Techniki wizualizacji Ćwiczenie 2 Obraz cyfrowy w komputerze Celem ćwiczenia jest poznanie podstawowych sposobów zapisywania obrazów cyfrowych w pamięci komputera. Każdy z nich wykorzystywany do odmiennego typu obrazów i ma specyficzne zastosowania. Możliwa jest oczywiście konwersja pomiędzy zapisanymi w różny sposób obrazami. Należy zaznaczyć, że omawiane metody nie wykorzystują jakichkolwiek algorytmów kompresji, w każdym z nich obraz zapisywany jest punkt po punkcie, inne jest tylko znaczenie informacji dotyczącej kodowanego punktu i sposób jej kodowania przy pomocy liczb. Rozważane będą cztery rodzaje obrazów: monochromatyczne (intensity images), binarne (binary images), kolorowe typu RGB (RGB images), indeksowane (indexed images). 1. Obrazy monochromatyczne (intensity images) Obrazy monochromatyczne są to obrazy, dla których punkt (piksel) kodowany jest przy pomocy jednej liczby, a cały obraz przy pomocy prostokątnej macierzy liczb, opisujących intensywność (jasność, szarość) poszczególnych punktów. Wartość 0 reprezentuje zazwyczaj czerń, a największa dopuszczalna dla danego zakresu kodowania liczba biel. W systemie MATLAB intensywność dla punktu obrazu monochromatycznego może być kodowana jako: liczba całkowita 8-bitowa (uint8) 256 stopni jasności od 0 do 255, liczba całkowita 16-bitowa (uint16) stopni jasności od 0 do 65635, liczba zmiennoprzecinkowa (double) praktycznie ciągła skala od 0 do 1.

2 Kodowanie punktów obrazu przy pomocy liczb całkowitych (8 lub 16 bitowych) jest powszechnie stosowanym sposobem zapisu jasności piksela i w ten sposób dane zapisywane są zwykle w plikach graficznych (niezależnie od ich formatu). W praktyce częściej stosowany jest zapis jasności piksela na 8 bitach, bowiem 256 stopni jasności jest z uwagi na właściwości układu percepcji wzrokowej człowieka liczbą całkowicie wystarczającą dla osiągnięcia wrażenia skali ciągłej. Format zmiennoprzecinkowy służy raczej jako format pośredni w przypadku, gdy na elementach obrazu chcemy wykonać jakieś operacje matematyczne i wygodniej jest to zrobić używając arytmetyki zmiennoprzecinkowej. System MTLAB z pakietem Image Processing Toolbox oferuje narzędzia do identyfikacji sposobu zapisu danych w plikach graficznych i wiele możliwości konwersji pomiędzy formatami. Kodowanie punktu na 8 bitach Dla przykładu, aby przeanalizować treść zapisaną w pliku graficznym Lena_gray_8.tif trzeba wykonać trzy polecenia: >> I = imread( Lena_gray_8.tif ); >> imshow(i) >> whos Ich wykonanie spowoduje: przeczytanie obrazu z pliku i wyświetlenie go w oknie graficznym oraz wypisanie na ekranie konsoli charakterystyki zmiennych, z której wynika, że utworzona przy pomocy polecenia imread( )tablica I zawiera liczby 8 bitowe bez znaku (uint8), ma rozmiar 256 x 256 i zajmuje bajty. Jak widać, został w ten sposób zidentyfikowany rozmiar obrazu i sposób kodowania danych o jasności poszczególnych jego pikseli. Było to możliwe dzięki działaniu polecenia imread( ), które zawiera mechanizmy pozwalające na prawidłową interpretację informacji umieszczonej w odczytywanym pliku graficznym. Plik taki (w tym przypadku Lena_gray_8.tif ) składa się zwykle z nagłówka, w którym w jakiś sposób zapisane są informacje określające format danych opisujących obraz i sposób ich zapisu oraz samych danych. Dane mogą być zapisane jako skompresowane bądź bez kompresji. Aby stwierdzić jak dane zostały naprawdę zapisane w pliku graficznym należy wykonać kolejne polecenie: >> imfinfo( Lena_gray_8.tif ); Na ekranie konsoli zostanie wypisana pełna informacja dotycząca sposobu kodowania danych i charakterystyka pliku graficznego. Ważniejsze parametry to: FileSize: rozmiar całego pliku graficznego Width: 256 szerokość obrazu Height: 256 wysokość obrazu ColorType: 'grayscale' sposób interpretacji danych z punktu widzenia odtworzenie koloru BitsPerSample: 8 liczba bitów na jedną próbkę obrazu

3 PhotometricInterpretation: 'BlackIsZero' sposób interpretacji liczb opisujących punkty obrazu SamplesPerPixel: 1 liczba próbek na jeden piksel obrazu Należy zauważyć, że tablica I opisująca punkty obrazu ma bajty, natomiast plik Lena_gray_8.tif w formacie TIFF jest trochę większy i liczy bajty. Różnica wynika właśnie między innymi z tego, że plik prócz danych zawiera nagłówek. Kodowanie punktu na 16 bitach Dla porównania jak wygląda nagłówek pliku zawierającego obraz z punktami kodowanymi na 16 bitach można wykonać polecenia: >> J = imread( Lena_gray_16.tif ); >> imfinfo( Lena_gray_16.tif ) >> whos Można także wyświetlić obraz zapisany w tablicy J by przekonać się, że obrazy monochromatyczne z 8 i 16 bitowym kodowaniem jasności punktu wizualnie niewiele się różnią. Kodowanie punktu jako liczby zmiennoprzecinkowej Ostatnim sposobem kodowania obrazu monochromatycznego jest zapis punktów przy pomocy liczb zmiennoprzecinkowych z zakresu [0,1]. Aby dokonać konwersji z zapisu całkowitoliczbowego (uint8) lub (uint16) do zapisu w zmiennoprzecinkowego (double) wygodnie jest użyć dostępnej w pakiecie Image Processing Toolbox funkcji im2double( ). Żeby dla przykładu przekonwertować obraz z 16 bitowym kodowaniem jasności zapisany ostatnio w tablicy J można użyć polecenia: >> K = im2double(j); Zostanie w ten sposób utworzona tablica K, w której obraz z tablicy J zostanie zapisany przy pomocy liczb zmiennoprzecinkowych z zakresu [0,1]. Dla potwierdzenia można dalej przy pomocy poleceń: >> J(45, 167) >> K(45, 167) wyświetlić jakieś odpowiadające sobie elementy tablic J i K i przekonać się, że konwersja została wykonana prawidłowo. Oczywiście zestaw funkcji znajdujących się w pakiecie Image Processing Toolbox zapewnia możliwość operacji odwrotnej, czyli powrotu z postaci zmiennoprzecinkowej do całkowitoliczbowej. Można to zrobić wykorzystując funkcje im2uint8( ) lub im2uint16( ).

4 2. Obrazy binarne (binary images) Obrazy binarne są to obrazy, dla których poszczególne punkty kodowane są przy pomocy zmiennej logicznej przyjmującej wartości 0 lub 1. Jeśli założyć, że wartość 0 odpowiada czerni a wartość 1 bieli to można obraz binarny wyświetlić. Obrazy binarne są często uzyskiwane z obrazów monochromatycznych lub barwnych w celu uproszczenia dalszego ich przetwarzania np. w zagadnieniach rozpoznawania obiektów, analizy ilościowej treści obrazu czy innych. Sposób uzyskiwania obrazu binarnego z obrazu monochromatycznego jest dość prosty. Na wstępie należy ustalić tak zwany próg binaryzacji (level), czyli jakąś liczbę z zakresu, w którym leżą wartości jasności punktów obrazu monochromatycznego. Przykładowo, gdy obrazem źródłowym jest obraz monochromatyczny z kodowaniem jasności punktów na 8 bitach progiem może być dowolna liczba z zakresu [0, 255]. Dalej wystarczy tylko obliczyć wartości dla poszczególnych punktów obrazu binarnego korzystając z zależności. y( i, j ) 0 = 1 gdy gdy x( i, j ) x( i, j ) level > level gdzie: x(i, j) jasność punktu obrazu monochromatycznego (źródłowego), y(i, j) wartość logiczna dla punktu obrazu binarnego (wyjściowego), level próg binaryzacji. Konwersja obrazu monochromatycznego na binarny Zadanie będzie polegało na napisaniu programu prostego konwertera zamieniającego obraz monochromatyczny na obraz binarny z możliwością ustawienia progu binaryzacji. Materiał źródłowy jest mikroskopowym obrazem rozkładu komórek materiału biologicznego pobranego z mózgu ryby o nazwie zebrafish i pochodzi z Instytutu Maxa Plancka w Dreźnie. Obraz źródłowy znajduje się w pliku Cells.tif a próg binaryzacji jest zadaną liczbą z przedziału [0, 1] dla przykładu 0.5. Kolejne kroki algorytmu zamiany obrazu są następujące (w nawiasach podano funkcje, jakich zaleca się użyć w programie przy realizacji poszczególnych kroków): Ustawić próg binaryzacji przez zadeklarowanie i inicjalizację zmiennej nazwanej level np. level = 0.5; Przeczytać obraz wejściowy z pliku i Cells.tif zapisać go w tablicy I ( funkcja imread( )). Wykonać konwersję obrazu zapisanego w tablicy I (liczby typu uint8) na obraz w formacie zmiennoprzecinkowym (double) i zapisać go w tablicy J ( funkcja im2double( )) Wyznaczyć rozmiary obrazu zapisanego w tablicy J ( funkcja size( ))

5 Zadeklarować tablicę K zgodną z rozmiarem obrazu zawierającą zera logiczne. Można to zrobić przy pomocy polecenia K = logical(zeros(n, m)); gdzie n i m są rozmiarami obrazu wyznaczonymi w poprzednim kroku. Badać kolejne punkty obrazu zapisanego w tablicy J i jeśli jasność przekracza zadany próg (level) zmieniać odpowiedni element tablicy K z 0 na 1 Uwaga: Do przeglądania kolejnych punktów obrazu należy zastosować podwójną pętlę for, natomiast do badania przekroczenia progu instrukcję warunkową if (patrz system pomocy Help) W jednym oknie graficznym pokazać obraz źródłowy z tablicy I oraz obraz binarny z tablicy K ( funkcja subplot( )). Zapisać obraz binarny z tablicy K do pliku przy pomocy polecenia imwrite(k, 'Cells_bin.tif', 'tif') Używając polecenia imfinfo( )sprawdzić parametry pliku z zapisem obrazu binarnego. Na rysunku 1 pokazano jak ma wyglądać okno graficzne z obrazami źródłowym i binarnym obliczonym dla progu binaryzacji level = 0.5. Rys. 1. Obraz monochromatyczny i binarny (level = 0.5)

6 Można teraz manipulując progiem binaryzacji sprawdzić jak zmienia się wygląd obrazu wyjściowego. 3. Obrazy kolorowe RGB (RGB images) Obrazy kolorowe tworzone według modelu barw RGB różnią się od obrazów monochromatycznych tym, że pojedynczy punkt obrazu (piksel) zapisywany jest przy pomocy nie jednej a trzech liczb. Liczby te zwane składowymi barwnymi R, G i B określają zawartości w barwie piksela poszczególnych barw podstawowych (czerwonej, zielonej i niebieskiej). Zwykle przyjmuje się, że wartość składowej barwnej równa 0 oznacza brak danej barwy podstawowej, a wartość 1 jej maksymalny udział. Podobnie jak w przypadku obrazów monochromatycznych w systemie MATLAB składowe barwne R, G, B koduje się przy pomocy liczb całkowitych i zmiennoprzecinkowych. Wyróżnia się trzy podstawowe sposoby typy zapisu składowej liczba całkowita 8-bitowa (uint8) 256 stopni udziału składowej od 0 do 255, liczba całkowita 16-bitowa (uint16) stopni 0 do 65635, liczba zmiennoprzecinkowa (double) praktycznie ciągła skala od 0 do 1. Przy pierwszym sposobie zapisu obrazu na 8 bitach liczba możliwych do zapamiętania kolorów wynosi, przy zapisie na 16 bitach, = , = natomiast w formacie zmiennoprzecinkowym jest jeszcze większa (liczba kolorów zależy od sposobu kodowania liczby zmiennoprzecinkowej) Żeby zorientować się, czym różni się informacja umieszczona w pliku opisującym obraz barwny od opisu obrazu monochromatycznego można, po wykonaniu poleceń: >> imfinfo( Lena_gray_8.tif ) >> imfinfo( Lena_color_256.tif ) i porównać treść wyprowadzonych na konsolę komunikatów. Rozkład obrazu RGB na składowe Celem zadania jest przeczytanie kolorowego obrazu z pliku, rozłożenie go na składowe barwne R, G, i B a następnie wyświetlenie każdej ze składowych jako oddzielny obraz monochromatyczny. Algorytm jest taki:

7 Przeczytać obraz wejściowy z pliku i Spectrum.tif zapisać go w tablicy I ( funkcja imread( )). Wyznaczyć rozmiary obrazu zapisanego w tablicy I ( funkcja size( )). Uwaga: Tablica zawierająca obraz RGB jest tablicą trójwymiarową. Zadeklarować trzy tablice R, G, i B, w których zapamiętane zostaną obrazy monochromatyczne Można to zrobić przy pomocy polecenia zeros(n, m, 'uint8'); gdzie n i m są rozmiarami obrazu wyznaczonymi w poprzednim kroku. Zapisać dane zawarte w tablicy I do tablic R, G, B. Uwaga: Można to zrobić w pętli lub bez używania pętli. W jednym oknie graficznym pokazać obraz źródłowy z tablicy I oraz obrazy monochromatyczne z tablic R, G, B ( funkcja subplot( )). Otrzymany efekt powinien wyglądać mniej więcej tak jak pokazano to na rysunku 2. Napisy widoczne nad poszczególnymi obrazami można uzyskać przy pomocy funkcji title( ) (patrz system pomocy Help). Rys. 2. Obraz barwny i składowe R, G, B wyświetlone jako obrazy monochromatyczne

8 4. Obrazy indeksowane (indexed images) W dotychczas omówionych sposobach zapisu obrazu dane o pisujące treść obrazu były umieszczany zawsze w jednej tablicy. W przypadku obrazów monochromatycznych i binarnych była to tablica dwuwymiarowa, natomiast dla obrazów kolorowych trójwymiarowa. Kolejny typ obrazów to tak zwane obrazy indeksowane, które różnią się od poprzednich tym, że do zapisu obrazu wykorzystuje się dwie tablice. Przy pomocy zapisu indeksowego można kodować zarówno obrazy monochromatyczne jak i barwne. Ideę zapisu obrazu kolorowego przy pomocy indeksów zaprezentowano na rysunku 3. Tablica danych I (162, 157) = 253 Tablica kolorów Index R G B (162, 157) Rys. 3. Wyjaśnienie sposobu zapisu obrazu przy pomocy indeksów Obraz kodowany jest teraz przy pomocy dwóch tablic: Tablicy danych (data matrix) o rozmiarach zgodnych z rozmiarami obrazu, której elementy są liczbami całkowitymi (uint8 lub uint16). Tablicy kolorów (colormap matrix) zbudowanej z pewnej liczby wierszy zawierających trzy liczby zmiennoprzecinkowe (double) opisujące składowe R, G i B koloru. Elementy tablicy danych są po prostu numerami wierszy w tablicy kolorów (pokazano to na rysunku 3). Taki sposób kodowania obrazu jest niewątpliwie w większości przypadków bardziej oszczędny niż bezpośredni zapis dla każdego punktu obrazu trzech składowych R, G, B. Daje też możliwości łatwiejszej zmiany obrazu. Żeby w zilustrować sposób wykorzystania zapisu obrazu przy pomocy indeksów można przeprowadzić prosty eksperyment, polegający na zamianie jednego wiersza tablicy kolorów. W tym celu należy najpierw przeczytać obraz zapisany jako już wcześniej jako indeksowany.

9 Obraz znajduje się w pliku Lena_color_index.tif', a przeczytać go można przy pomocy polecenia: >> [I, map] = imread( Lena_color_index.tif ); Należy zauważyć, że w odróżnieniu od wszystkich poprzednich przypadków wczytany obraz został umieszczony w dwóch tablicach I i map. Pierwsza z nich jest opisaną wcześniej tablicą danych (indeksów) a druga tablicą kolorów. Jeśli dalej wykona się polecenie: >> I(162, 157) na ekranie zostanie wyświetlona liczba 253, czyli indeks wiersza tablicy kolorów odpowiadającego punktowi obrazu o współrzędnych (162, 157). Aby odczytać składowe koloru analizowanego piksela można teraz napisać: >> map(253,:) co spowoduje wyświetlenie składowych R, G, B koloru punktu. Są to liczby , , , (patrz rys. 3). Zamianę elementów wiersza w tablicy kolorów można wykonać wydając kolejne polecenie: >> map(253,:)= 1.0; Wszystkie trzy elementy wiersza, czyli składowe koloru zostaną zmienione na liczby 1.0 co odpowiada kolorowi białemu. Na zakończenie, aby zobaczyć rezultat należy napisać polecenie: >> imshow(i, map); efekt powinien być taki jak pokazano to na rysunku 4. Rys. 4. Obraz z wymienionym jednym kolorem

10 Interpretacja uzyskanego wyniku jest prosta. Wszystkie piksele obrazu, które w tablicy danych miały wartość 253 po zamianie odpowiedniego wiersza w tablicy kolorów zostały wyświetlone w kolorze białym. Uzyskanie obrazu w kolorze przypominającym sepię Zadanie polega na przetworzeniu obrazu w stopniach szarości zapisanego jako indeksowany w obraz w kolorze podobnym do sepii. Algorytm jest następujący: Przeczytać obraz wejściowy z pliku i Lena_gray_index.tif zapisać go w tablicach I i map (funkcja imread( )). Zadeklarować i zainicjalizować zmienną alfa np. alfa = 0.65; Wyznaczyć rozmiary obrazu zapisanego w tablicy kolorów map (funkcja size( )). Utworzyć nową tablice kolorów map_1 przepisując do niej dwie pierwsze kolumny (określające składowe R i G) tablicy map i mnożąc wartości w trzeciej kolumnie (odpowiadające składowej niebieskiej B) przez alfa. W osobnych oknach graficznych wyświetlić obrazy (I, map) i (I, map_1), powinny one wyglądać tak jak na rysunku 5. Zmieniając wartość zmiennej alfa uzyskać pożądany wygląd obrazu w sepii. Rys. 5. Obraz źródłowy i w kolorze podobnym do sepii (alfa = 0.65)

11 Przekształcenie obrazu RGB na obraz indeksowany Z punktu widzenia oszczędności pamięci zapis obrazu przy pomocy indeksów wydaje się dość atrakcyjny. Jednak zwykle obrazy zapisane jako indeksowane nie są bezpośrednio dostarczane przez urządzenia rejestrujące. Ich uzyskanie wymaga przetworzenia zapisanych wcześniej obrazów przy pomocy specjalnych algorytmów. Zarejestrowany obraz źródłowy opisany w kategoriach modelu RGB ma zazwyczaj bardzo dużo kolorów. Można w krańcowym przypadku, wyobrazić sobie obraz, w którym każdy piksel ma trochę inny kolor. Dla takiego obrazu, przy próbie zapisu jako indeksowany, tablica kolorów będzie miała tyle wierszy ile obraz ma punktów a dodatkowo trzeba będzie dodać jeszcze tablicę danych zawierającą indeksy. Zapis w tym przypadku będzie zajmował więcej pamięci niż bezpośrednie opisanie składowych barwnych R, G, B dla poszczególnych punktów. Ogólny wniosek jest, więc taki, że zapis w postaci indeksów opłaca się stosować, gdy na obrazie jest znacznie mniej kolorów niż obraz ma punktów. Jednak okazuje się, że z uwagi na pewne właściwości procesu postrzegania obrazów barwnych przez człowieka, można bez większej starty jakości ograniczyć liczbę kolorów punktów obrazu. Idea jest prosta i polega na tym, że punktom o zbliżonych kolorach przypisuje się jeden wyliczony w jakiś sposób kolor. Proces taki nazywa się kwantyzacją koloru i realizowany jest przy pomocy różnych algorytmów. Najbardziej popularne to kwantyzacja jednorodna i kwantyzacja przy kryterium minimalnej wariancji. Kwantyzacja jednorodna jest najprostszym algorytmem redukcji liczby kolorów w obrazie. Ideę jej łatwo jest wyjaśnić posługując się modelem barw RGB w postaci sześcianu takim jak pokazany został na rysunku 6. (0, 1, 0) G R B (1, 0, 0) (0, 0, 1) Rys. 6. Model RGB w postaci sześcianu Jeśli każdy z boków sześcianu podzielić na n równych odcinków to można sobie wyobrazić, że sześcian zostanie podzielony na n 3 małych sześciennych kostek. Jeśli każdej

12 z takich kostek przypisać jeden kolor na przykład określony jako kolor jej środka, to powstanie dyskretna struktura opisująca przestrzeń zbudowaną z n 3 kolorów. Algorytm kwantyzacji koloru jest bardzo prosty: Dla danego piksela obrazu opisanego składowymi r, g, b zidentyfikować, w której kostce leży punkt opisany tymi składowymi. Jako nowe współrzędne barwne piksela przypisać współrzędne koloru odpowiadającego kostce znalezionej w kroku poprzednim. Tabelę kolorów zbudować tylko z tych kolorów przestrzeni kostki, które mają swoje odpowiedniki w przetworzonym obrazie. W wyniku kwantyzacji równomiernej powstanie obraz, który będzie zawierał punkty o maksymalnie n 3 kolorach. Algorytm jest prosty jednak pewien kłopot może sprawiać dobór liczby n. Dla małych n, kolorów w przetworzonym obrazie może być za mało, dla dużych n powstanie prawdopodobnie zbyt duża tabela kolorów. Należy także zaznaczyć, że sposób podziału przestrzeni barw nie zależy od treści obrazu a jedynie wyboru liczby n. Kwantyzacja przy kryterium minimalnej wariancji jest znacznie bardziej skomplikowana. Przestrzeń kolorów RGB reprezentowana przez sześcian z rysunku 6 dzielona jest w tym przypadku nie na równe sześcienne małe kostki, tak jak to było w przypadku kwantyzacji równomierniej, ale na prostopadłościany o różnej wielkości. Podział zależny jest od rozkładu punktów reprezentujących poszczególne piksele obrazu wewnątrz sześcianu przestrzeni barw. Jeśli w pewnym obszarze znajduje się dużo skoncentrowanych obok siebie punktów w buduje się mały prostopadłościan, jeśli lokalna gęstość punktów jest niewielka, prostopadłościan jest większy. Poszczególne punkty leżące wewnątrz tak wyznaczonych prostopadłościanów reprezentowane są w obrazie wynikowym przez centra prostopadłościanów. Taki podział przestrzeni barw pozwala lepiej aproksymować obraz źródłowy przy pomocy zadanej liczby kolorów, uzależniając wynik od treści analizowanego obrazu a nie jak to miało miejsce w przypadku kwantyzacji równomiernej jedynie od pewnego arbitralnie zadanego parametru. Oczywiście lepsza jakość aproksymacji wymaga większej liczby obliczeń. W pakiecie Image Processing Toolbox dostępna jest funkcja o nazwie rgb2ind( ), która zamienia obraz zapisany według modelu RGB na obraz indeksowany. Zaimplementowane zostały obie wyżej opisane metody. Celem ostatniego zadania jest zbadanie, jaki efekt dają oba algorytmy kwantyzacji koloru i porównanie wyników ich działania. Schemat postępowania jest następujący: Przeczytać obraz Lena_color_256.tif. Używając funkcji rgb2ind( )wykonać kwantyzację metodą równomierną i metodą minimalizacji wariancji, tak, aby uzyskać jak najmniejszą tablicę kolorów, przy której odtworzony obraz indeksowany nie różni się praktycznie od obrazu oryginalnego. Sprawdzić, jakie są wielkości plików z zapisem obrazu indeksowanego dla jednej i drugiej metody.

Inżynieria obrazów cyfrowych. Ćwiczenie 1. Środowisko MATLAB + Image Processing Toolbox - wprowadzenie

Inżynieria obrazów cyfrowych. Ćwiczenie 1. Środowisko MATLAB + Image Processing Toolbox - wprowadzenie Doc. dr inż. Jacek Jarnicki Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej jacek.jarnicki@pwr.wroc.pl Inżynieria obrazów cyfrowych Ćwiczenie 1 Środowisko MATLAB + Image Processing

Bardziej szczegółowo

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

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG Założenia i obszar zastosowań KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG Plan wykładu: Geneza algorytmu Założenia i obszar zastosowań JPEG kroki algorytmu kodowania obrazu Założenia: Obraz monochromatyczny

Bardziej szczegółowo

Grafika komputerowa. Dla DSI II

Grafika komputerowa. Dla DSI II Grafika komputerowa Dla DSI II Rodzaje grafiki Tradycyjny podział grafiki oznacza wyróżnienie jej dwóch rodzajów: grafiki rastrowej oraz wektorowej. Różnica pomiędzy nimi polega na innej interpretacji

Bardziej szczegółowo

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

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 Kompresja transformacyjna. Opis standardu JPEG. Algorytm JPEG powstał w wyniku prac prowadzonych przez grupę ekspertów (ang. Joint Photographic Expert Group). Prace te zakończyły się w 1991 roku, kiedy

Bardziej szczegółowo

Ćwiczenie 6. Transformacje skali szarości obrazów

Ć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ółowo

Formaty obrazów rastrowych biblioteki PBM

Formaty obrazów rastrowych biblioteki PBM Formaty obrazów rastrowych biblioteki PBM Reprezentacja obrazu Obrazy pobierane z kamery, bądź dowolnego innego źródła, mogą być składowane na pliku dyskowym w jednym z wielu istniejących formatów zapisu

Bardziej szczegółowo

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

dr inż. Piotr Odya dr inż. Piotr Suchomski dr inż. Piotr Odya dr inż. Piotr Suchomski Podział grafiki wektorowa; matematyczny opis rysunku; małe wymagania pamięciowe (i obliczeniowe); rasteryzacja konwersja do postaci rastrowej; rastrowa; tablica

Bardziej szczegółowo

Techniki wizualizacji. Ćwiczenie 4. Podstawowe algorytmy przetwarzania obrazów

Techniki wizualizacji. Ćwiczenie 4. Podstawowe algorytmy przetwarzania obrazów Doc. dr inż. Jacek Jarnicki Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej jacek.jarnicki@pwr.wroc.pl Techniki wizualizacji Ćwiczenie 4 Podstawowe algorytmy przetwarzania obrazów

Bardziej szczegółowo

PODSTAWY PRZETWARZANIA INFORMACJI OBRAZOWEJ

PODSTAWY PRZETWARZANIA INFORMACJI OBRAZOWEJ PODSTAWY PRZETWARZANIA INFORMACJI OBRAZOWEJ OKNA GRAFICZNE Okno graficzne można tworzyć odpowiednimi poleceniami (np. figure) Okna takie są zaś tworzone automatycznie w momencie wykonywania pewnych poleceń,

Bardziej szczegółowo

Gimp Grafika rastrowa (konwersatorium)

Gimp Grafika rastrowa (konwersatorium) GIMP Grafika rastrowa Zjazd 1 Prowadzący: mgr Agnieszka Paradzińska 17 listopad 2013 Gimp Grafika rastrowa (konwersatorium) Przed przystąpieniem do omawiania cyfrowego przetwarzania obrazów niezbędne jest

Bardziej szczegółowo

Pętle. Dodał Administrator niedziela, 14 marzec :27

Pętle. Dodał Administrator niedziela, 14 marzec :27 Pętlami nazywamy konstrukcje języka, które pozwalają na wielokrotne wykonywanie powtarzających się instrukcji. Przykładowo, jeśli trzeba 10 razy wyświetlić na ekranie pewien napis, to można wykorzystać

Bardziej szczegółowo

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup Baltie 3 Podręcznik do nauki programowania dla klas I III gimnazjum Tadeusz Sołtys, Bohumír Soukup Czytanie klawisza lub przycisku myszy Czytaj klawisz lub przycisk myszy - czekaj na naciśnięcie Polecenie

Bardziej szczegółowo

ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM)

ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM) ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM) LABORATORIUM 5 - LOKALIZACJA OBIEKTÓW METODĄ HISTOGRAMU KOLORU 1. WYBÓR LOKALIZOWANEGO OBIEKTU Pierwszy etap laboratorium polega na wybraniu lokalizowanego obiektu.

Bardziej szczegółowo

Python: JPEG. Zadanie. 1. Wczytanie obrazka

Python: 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ółowo

Inżynieria obrazów cyfrowych. Ćwiczenie 5. Kompresja JPEG

Inżynieria obrazów cyfrowych. Ćwiczenie 5. Kompresja JPEG Doc. dr inż. Jacek Jarnicki Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej jacek.jarnicki@pwr.wroc.pl Inżynieria obrazów cyfrowych Ćwiczenie 5 Kompresja JPEG Zadaniem ćwiczenia jest

Bardziej szczegółowo

Operacje przetwarzania obrazów monochromatycznych

Operacje przetwarzania obrazów monochromatycznych Operacje przetwarzania obrazów monochromatycznych Obraz pobrany z kamery lub aparatu często wymaga dalszej obróbki. Jej celem jest poprawienie jego jakości lub uzyskaniem na jego podstawie określonych

Bardziej szczegółowo

Technologie Informacyjne

Technologie Informacyjne Grafika komputerowa Szkoła Główna Służby Pożarniczej Zakład Informatyki i Łączności December 12, 2016 1 Wprowadzenie 2 Optyka 3 Geometria 4 Grafika rastrowa i wektorowa 5 Kompresja danych Wprowadzenie

Bardziej szczegółowo

Inżynieria obrazów cyfrowych. Ćwiczenie 3. Wybrane modele kolorów i ich zastosowania

Inżynieria obrazów cyfrowych. Ćwiczenie 3. Wybrane modele kolorów i ich zastosowania Doc. dr inż. Jacek Jarnicki Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej jacek.jarnicki@pwr.wroc.pl Inżynieria obrazów cyfrowych Ćwiczenie 3 Wybrane modele kolorów i ich zastosowania

Bardziej szczegółowo

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

BIBLIOTEKA 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ółowo

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu. Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą

Bardziej szczegółowo

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

GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej GRAFIKA RASTROWA WYKŁAD 1 Wprowadzenie do grafiki rastrowej Jacek Wiślicki Katedra Informatyki Stosowanej Grafika rastrowa i wektorowa W grafice dwuwymiarowej wyróżnia się dwa rodzaje obrazów: rastrowe,

Bardziej szczegółowo

Inżynieria obrazów cyfrowych. Ćwiczenie 7. GIMP zarządzanie kolorem, tekst na obrazie

Inżynieria obrazów cyfrowych. Ćwiczenie 7. GIMP zarządzanie kolorem, tekst na obrazie Doc. dr inż. Jacek Jarnicki Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej jacek.jarnicki@pwr.wroc.pl Inżynieria obrazów cyfrowych Ćwiczenie 7 GIMP zarządzanie kolorem, tekst na

Bardziej szczegółowo

Cała prawda o plikach grafiki rastrowej

Cała prawda o plikach grafiki rastrowej ~ 1 ~ Cała prawda o plikach grafiki rastrowej Grafika rastrowa to rodzaj grafiki zapisywanej na dysku w postaci bitmapy, czyli zbioru pikseli. W edytorach grafiki rastrowej możliwa jest edycja na poziomie

Bardziej szczegółowo

Tablice. Jones Stygar na tropie zmiennych

Tablice. Jones Stygar na tropie zmiennych Tablice Jones Stygar na tropie zmiennych Czym jest tablica? Obecnie praktycznie wszystkie języki programowania obsługują tablice. W matematyce odpowiednikiem tablicy jednowymiarowej jest ciąg (lub wektor),

Bardziej szczegółowo

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na

Bardziej szczegółowo

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem

Bardziej szczegółowo

Przekształcenia punktowe

Przekształcenia punktowe Przekształcenia punktowe Przekształcenia punktowe realizowane sa w taki sposób, że wymagane operacje wykonuje sie na poszczególnych pojedynczych punktach źródłowego obrazu, otrzymujac w efekcie pojedyncze

Bardziej szczegółowo

INFORMATYKA WSTĘP DO GRAFIKI RASTROWEJ

INFORMATYKA WSTĘP DO GRAFIKI RASTROWEJ INFORMATYKA WSTĘP DO GRAFIKI RASTROWEJ Przygotowała mgr Joanna Guździoł e-mail: jguzdziol@wszop.edu.pl WYŻSZA SZKOŁA ZARZĄDZANIA OCHRONĄ PRACY W KATOWICACH 1. Pojęcie grafiki komputerowej Grafika komputerowa

Bardziej szczegółowo

Programowanie i techniki algorytmiczne

Programowanie i techniki algorytmiczne Temat 2. Programowanie i techniki algorytmiczne Realizacja podstawy programowej 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych 2) formułuje ścisły opis prostej

Bardziej szczegółowo

dr inż. Tomasz Krzeszowski

dr inż. Tomasz Krzeszowski Metody cyfrowego przetwarzania obrazów dr inż. Tomasz Krzeszowski 2017-05-20 Spis treści 1 Przygotowanie do laboratorium... 3 2 Cel laboratorium... 3 3 Przetwarzanie obrazów z wykorzystaniem oprogramowania

Bardziej szczegółowo

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia Podstawy informatyki Elektrotechnika I rok Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia Katedra Energoelektroniki i Automatyki Systemów Przetwarzania Energii AGH Kraków 2017 Tematyka

Bardziej szczegółowo

Obraz jako funkcja Przekształcenia geometryczne

Obraz jako funkcja Przekształcenia geometryczne Cyfrowe przetwarzanie obrazów I Obraz jako funkcja Przekształcenia geometryczne dr. inż Robert Kazała Definicja obrazu Obraz dwuwymiarowa funkcja intensywności światła f(x,y); wartość f w przestrzennych

Bardziej szczegółowo

Podstawy grafiki komputerowej. Teoria obrazu.

Podstawy grafiki komputerowej. Teoria obrazu. WAŻNE POJĘCIA GRAFIKA KOMPUTEROWA - to dział informatyki zajmujący się wykorzystaniem oprogramowania komputerowego do tworzenia, przekształcania i prezentowania obrazów rzeczywistych i wyimaginowanych.

Bardziej szczegółowo

Kurs grafiki komputerowej Lekcja 2. Barwa i kolor

Kurs grafiki komputerowej Lekcja 2. Barwa i kolor Barwa i kolor Barwa to zjawisko, które zachodzi w trójkącie: źródło światła, przedmiot i obserwator. Zjawisko barwy jest wrażeniem powstałym u obserwatora, wywołanym przez odpowiednie długości fal świetlnych,

Bardziej szczegółowo

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

Odczytywanie i zapisywanie obrazów rastrowych do plików, operacje punktowe na tablicach obrazów Laboratorium 1 Odczytywanie i zapisywanie obrazów rastrowych do plików, operacje punktowe na tablicach obrazów Konfiguracja systemu WinPython 3.6/ 3.7 Otworzyć konsolę Python a WinPython Command Prompt

Bardziej szczegółowo

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane

Bardziej szczegółowo

Ćwiczenie: JavaScript Cookies (3x45 minut)

Ćwiczenie: JavaScript Cookies (3x45 minut) Ćwiczenie: JavaScript Cookies (3x45 minut) Cookies niewielkie porcje danych tekstowych, które mogą być przesyłane między serwerem a przeglądarką. Przeglądarka przechowuje te dane przez określony czas.

Bardziej szczegółowo

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

Księ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ółowo

Diagnostyka obrazowa

Diagnostyka 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ółowo

Zadania domowe. Ćwiczenie 2. Rysowanie obiektów 2-D przy pomocy tworów pierwotnych biblioteki graficznej OpenGL

Zadania domowe. Ćwiczenie 2. Rysowanie obiektów 2-D przy pomocy tworów pierwotnych biblioteki graficznej OpenGL Zadania domowe Ćwiczenie 2 Rysowanie obiektów 2-D przy pomocy tworów pierwotnych biblioteki graficznej OpenGL Zadanie 2.1 Fraktal plazmowy (Plasma fractal) Kwadrat należy pokryć prostokątną siatką 2 n

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

Temat 20. Techniki algorytmiczne

Temat 20. Techniki algorytmiczne Realizacja podstawy programowej 5. 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych problemów; 2) formułuje ścisły opis prostej sytuacji problemowej, analizuje

Bardziej szczegółowo

Formaty plików graficznych - wprowadzenie

Formaty plików graficznych - wprowadzenie Formaty plików graficznych - wprowadzenie Obraz graficzny jest dwuwymiarową tablicą pikseli, zwana czasem rastrem. Kolor piksela może być reprezentowany w następujący sposób: Dla obrazów monochromatycznych

Bardziej szczegółowo

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA PRZEDMIOT : : LABORATORIUM PODSTAW AUTOMATYKI 1. WSTĘP DO

Bardziej szczegółowo

Wprowadzenie do programu Mathcad 15 cz. 1

Wprowadzenie do programu Mathcad 15 cz. 1 Wpisywanie tekstu Wprowadzenie do programu Mathcad 15 cz. 1 Domyślnie, Mathcad traktuje wpisywany tekst jako wyrażenia matematyczne. Do trybu tekstowego można przejść na dwa sposoby: Zaczynając wpisywanie

Bardziej szczegółowo

Podstawy OpenCL część 2

Podstawy OpenCL część 2 Podstawy OpenCL część 2 1. Napisz program dokonujący mnożenia dwóch macierzy w wersji sekwencyjnej oraz OpenCL. Porównaj czasy działania obu wersji dla różnych wielkości macierzy, np. 16 16, 128 128, 1024

Bardziej szczegółowo

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10. ZAMIANA LICZB MIĘDZY SYSTEMAMI DWÓJKOWYM I DZIESIĘTNYM Aby zamienić liczbę z systemu dwójkowego (binarnego) na dziesiętny (decymalny) należy najpierw przypomnieć sobie jak są tworzone liczby w ww systemach

Bardziej szczegółowo

Grafika rastrowa (bitmapa)-

Grafika rastrowa (bitmapa)- Grafika komputerowa Grafika rastrowa Grafika rastrowa (bitmapa)- sposób zapisu obrazów w postaci prostokątnej tablicy wartości, opisujących kolory poszczególnych punktów obrazu (prostokątów składowych).

Bardziej szczegółowo

Techniki wizualizacji. Ćwiczenie 10. System POV-ray tworzenie animacji

Techniki wizualizacji. Ćwiczenie 10. System POV-ray tworzenie animacji Doc. dr inż. Jacek Jarnicki Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej jacek.jarnicki@pwr.wroc.pl Techniki wizualizacji Ćwiczenie 10 System POV-ray tworzenie animacji Celem ćwiczenia

Bardziej szczegółowo

Diagnostyka obrazowa

Diagnostyka obrazowa Diagnostyka obrazowa Ćwiczenie pierwsze Zapoznanie ze środowiskiem przetwarzania obrazu ImageJ 1 Cel ćwiczenia Ćwiczenie ma na celu zapoznanie uczestników kursu Diagnostyka obrazowa ze środowiskiem przetwarzania

Bardziej szczegółowo

Wykład II. Reprezentacja danych w technice cyfrowej. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Wykład II. Reprezentacja danych w technice cyfrowej. Studia Podyplomowe INFORMATYKA Podstawy Informatyki Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład II Reprezentacja danych w technice cyfrowej 1 III. Reprezentacja danych w komputerze Rodzaje danych w technice cyfrowej 010010101010 001010111010

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

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

Grafika Komputerowa Wykład 1. Wstęp do grafiki komputerowej Obraz rastrowy i wektorowy. mgr inż. Michał Chwesiuk 1/22 Wykład 1 Wstęp do grafiki komputerowej rastrowy i wektorowy mgr inż. 1/22 O mnie mgr inż. michalchwesiuk@gmail.com http://mchwesiuk.pl Materiały, wykłady, informacje Doktorant na Wydziale Informatyki Uniwersytetu

Bardziej szczegółowo

Diagnostyka obrazowa

Diagnostyka obrazowa Diagnostyka obrazowa Ćwiczenie pierwsze Wstęp do środowiska przetwarzania obrazu ImageJ 1. Cel ćwiczenia Ćwiczenie ma na celu zapoznanie uczestników kursu Diagnostyka obrazowa ze środowiskiem przetwarzania

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 4 Tryby adresowania i formaty Tryby adresowania Natychmiastowy Bezpośredni Pośredni Rejestrowy Rejestrowy pośredni Z przesunięciem stosowy Argument natychmiastowy Op Rozkaz

Bardziej szczegółowo

1.3. Tworzenie obiektów 3D. Rysunek 1.2. Dostępne opcje podręcznego menu dla zaznaczonego obiektu

1.3. Tworzenie obiektów 3D. Rysunek 1.2. Dostępne opcje podręcznego menu dla zaznaczonego obiektu 1. Edytor grafiki Draw 1.1. Okno programu Draw W bezpłatnym pakiecie OpenOffice zawarty jest program graficzny Draw (rysunek 1.1), wyposażony w liczne narzędzia do obróbki obiektów. Program możesz uruchomić,

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 9. Przetwarzanie sygnałów wizyjnych. Politechnika Świętokrzyska.

Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 9. Przetwarzanie sygnałów wizyjnych. Politechnika Świętokrzyska. Politechnika Świętokrzyska Laboratorium Cyfrowe przetwarzanie sygnałów Ćwiczenie 9 Przetwarzanie sygnałów wizyjnych. Cel ćwiczenia Celem ćwiczenia jest zapoznanie studentów z funkcjami pozwalającymi na

Bardziej szczegółowo

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

Grafika 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

Algorytmy sortujące i wyszukujące

Algorytmy sortujące i wyszukujące Algorytmy sortujące i wyszukujące Zadaniem algorytmów sortujących jest ułożenie elementów danego zbioru w ściśle określonej kolejności. Najczęściej wykorzystywany jest porządek numeryczny lub leksykograficzny.

Bardziej szczegółowo

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Jak napisać program obliczający pola powierzchni różnych figur płaskich? Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy

Bardziej szczegółowo

Zygmunt 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 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ółowo

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których

Bardziej szczegółowo

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst. Schematy blokowe I Jeżeli po schematach blokowych będzie używany język C, to należy używać operatorów: '&&', ' ', '!=', '%' natomiast jeśli Ruby to 'and', 'or', '%', '!='. 1. Dostępne bloki: a) początek:

Bardziej szczegółowo

KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT

KRYPTOGRAFIA 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ółowo

7. Szybka transformata Fouriera fft

7. Szybka transformata Fouriera fft 7. Szybka transformata Fouriera fft Dane pomiarowe sygnałów napięciowych i prądowych często obarczone są dużym błędem, wynikającym z istnienia tak zwanego szumu. Jedną z metod wspomagających analizę sygnałów

Bardziej szczegółowo

3. OPERACJE BEZKONTEKSTOWE

3. 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ółowo

GRAFIKA KOMPUTEROWA 7: Kolory i cieniowanie

GRAFIKA KOMPUTEROWA 7: Kolory i cieniowanie GRAFIKA KOMPUTEROWA 7: Kolory i cieniowanie http://galaxy.agh.edu.pl/~mhojny Prowadzący: dr inż. Hojny Marcin Akademia Górniczo-Hutnicza Mickiewicza 30 30-059 Krakow pawilon B5/p.406 tel. (+48)12 617 46

Bardziej szczegółowo

Bitmapy - format i zastosowanie. Podstawowy format plików bitmapowych, dogodność zastosowania bitmap w prostych animacjach 2D.

Bitmapy - format i zastosowanie. Podstawowy format plików bitmapowych, dogodność zastosowania bitmap w prostych animacjach 2D. Bitmapy - format i zastosowanie. Podstawowy format plików bitmapowych, dogodność zastosowania bitmap w prostych animacjach 2D. Format BMP został zaprojektowany przez firmę Microsoft, do przechowywania

Bardziej szczegółowo

Rozpoznawanie obrazu. Teraz opiszemy jak działa robot.

Rozpoznawanie obrazu. Teraz opiszemy jak działa robot. Rozpoznawanie obrazu Implementujesz oprogramowanie do rozpoznawania obrazu dla robota. Za każdym razem, gdy robot robi zdjęcie kamerą, jest ono zapisywane jako czarno-biały obraz w pamięci robota. Każdy

Bardziej szczegółowo

Teoria przetwarzania A/C i C/A.

Teoria przetwarzania A/C i C/A. Teoria przetwarzania A/C i C/A. Autor: Bartłomiej Gorczyński Cyfrowe metody przetwarzania sygnałów polegają na przetworzeniu badanego sygnału analogowego w sygnał cyfrowy reprezentowany ciągiem słów binarnych

Bardziej szczegółowo

Maciej Piotr Jankowski

Maciej Piotr Jankowski Reduced Adder Graph Implementacja algorytmu RAG Maciej Piotr Jankowski 2005.12.22 Maciej Piotr Jankowski 1 Plan prezentacji 1. Wstęp 2. Implementacja 3. Usprawnienia optymalizacyjne 3.1. Tablica ekspansji

Bardziej szczegółowo

Metody komputerowe w obliczeniach inżynierskich

Metody komputerowe w obliczeniach inżynierskich 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

Bardziej szczegółowo

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.

Bardziej szczegółowo

Zapisywanie algorytmów w języku programowania

Zapisywanie algorytmów w języku programowania Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym

Bardziej szczegółowo

Dane obrazowe. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

Dane obrazowe. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski Dane obrazowe R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski www.il.pw.edu.pl/~rg s-rg@siwy.il.pw.edu.pl Przetwarzanie danych obrazowych! Przetwarzanie danych obrazowych przyjmuje trzy formy:! Grafikę

Bardziej szczegółowo

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

Wykorzystanie grafiki wektorowej do tworzenia elementów graficznych stron i prezentacji Wykorzystanie grafiki wektorowej do tworzenia elementów graficznych stron i prezentacji grafika rastrowa a grafika wektorowa -13- P SiO 2 Grafika rastrowa - obraz zapisany w tej postaci stanowi układ barwnych

Bardziej szczegółowo

Warsztaty dla nauczycieli

Warsztaty dla nauczycieli WPROWADZENIE Wyprowadzanie danych: Wyprowadzanie na ekran komunikatów i wyników umożliwia instrukcja wyjścia funkcja print(). Argumentami funkcji (podanymi w nawiasach) mogą być teksty, wyrażenia arytmetyczne

Bardziej szczegółowo

1 Wprowadzenie do algorytmiki

1 Wprowadzenie do algorytmiki Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności

Bardziej szczegółowo

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego Arytmetyka cyfrowa Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego (binarnego). Zapis binarny - to system liczenia

Bardziej szczegółowo

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych

Parametryzacja 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ółowo

Zamiana reprezentacji wektorowej na rastrową - rasteryzacja

Zamiana reprezentacji wektorowej na rastrową - rasteryzacja MODEL RASTROWY Siatka kwadratów lub prostokątów stanowi elementy rastra. Piksel - pojedynczy element jest najmniejszą rozróŝnialną jednostką powierzchniową, której własności są opisane atrybutami. Model

Bardziej szczegółowo

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa Diagnostyka i niezawodność robotów Laboratorium nr 6 Model matematyczny elementu naprawialnego Prowadzący: mgr inż. Marcel Luzar Cele ćwiczenia:

Bardziej szczegółowo

Pytania sprawdzające wiedzę z programowania C++

Pytania sprawdzające wiedzę z programowania C++ Pytania sprawdzające wiedzę z programowania C++ Wstęp 1. Zaprezentuj mechanikę tworzenia programu napisanego w języku C++. 2. Co to jest kompilacja? 3. Co to jest konsolidacja? 4. Co to jest kod wykonywalny?

Bardziej szczegółowo

Kodowanie informacji. Kody liczbowe

Kodowanie informacji. Kody liczbowe Wykład 2 2-1 Kodowanie informacji PoniewaŜ komputer jest urządzeniem zbudowanym z układów cyfrowych, informacja przetwarzana przez niego musi być reprezentowana przy pomocy dwóch stanów - wysokiego i niskiego,

Bardziej szczegółowo

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH II rok Kierunek Logistyka Temat: Zajęcia wprowadzające. BHP stanowisk

Bardziej szczegółowo

Kompresja danych DKDA (7)

Kompresja danych DKDA (7) Kompresja danych DKDA (7) Marcin Gogolewski marcing@wmi.amu.edu.pl Uniwersytet im. Adama Mickiewicza w Poznaniu Poznań, 22 listopada 2016 1 Kwantyzacja skalarna Wprowadzenie Analiza jakości Typy kwantyzatorów

Bardziej szczegółowo

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

Do opisu kolorów używanych w grafice cyfrowej śluzą modele barw. Modele barw Do opisu kolorów używanych w grafice cyfrowej śluzą modele barw. Każdy model barw ma własna przestrzeo kolorów, a co za tym idzie- własny zakres kolorów możliwych do uzyskania oraz własny sposób

Bardziej szczegółowo

Synteza strukturalna automatu Moore'a i Mealy

Synteza strukturalna automatu Moore'a i Mealy Synteza strukturalna automatu Moore'a i Mealy (wersja robocza - w razie zauważenia błędów proszę o uwagi na mail'a) Załóżmy, że mamy następujący graf automatu z 2 y 0 q 0 z 1 z 1 z 0 z 0 y 1 z 2 q 2 z

Bardziej szczegółowo

n, m : int; S, a, b : double. Gdy wartości sumy składowej nie można obliczyć, to przyjąć Sij = 1.03 Dla obliczenia Sij zdefiniować funkcję.

n, m : int; S, a, b : double. Gdy wartości sumy składowej nie można obliczyć, to przyjąć Sij = 1.03 Dla obliczenia Sij zdefiniować funkcję. Zadania-6 1 Opracować program obliczający wartość sumy: S n m ai bj i 1 j 1 ln( bi j a) n, m : int; S, a, b : double Gdy wartości sumy składowej nie można obliczyć, to przyjąć Sij = 103 Dla obliczenia

Bardziej szczegółowo

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 4 Obsługa plików Kraków 2010 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim

Bardziej szczegółowo

Matlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3

Matlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3 Matlab, zajęcia 3. Pętle c.d. Przypomnijmy sobie jak działa pętla for Możemy podać normalnie w Matlabie t=cputime; for i=1:20 v(i)=i; e=cputime-t UWAGA: Taka operacja jest bardzo czasochłonna i nieoptymalna

Bardziej szczegółowo

Sposoby przedstawiania algorytmów

Sposoby przedstawiania algorytmów Temat 1. Sposoby przedstawiania algorytmów Realizacja podstawy programowej 5. 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych problemów; 2) formułuje ścisły

Bardziej szczegółowo

MS Office Picture Manager

MS Office Picture Manager MS Office Picture Manager Edycja obrazów cyfrowych Poradnik powstał w ramach projektu Informacja dla obywateli cybernawigatorzy w bibliotekach, zainicjowanego przez polskich uczestników programu wymiany

Bardziej szczegółowo

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else. Nazwa implementacji: Nauka języka Python wyrażenia warunkowe Autor: Piotr Fiorek Opis implementacji: Poznanie wyrażeń warunkowych if elif - else. Nasz kalkulator umie już liczyć, ale potrafi przeprowadzać

Bardziej szczegółowo

Marcin Wilczewski Politechnika Gdańska, 2013/14

Marcin Wilczewski Politechnika Gdańska, 2013/14 Algorytmy graficzne Marcin Wilczewski Politechnika Gdańska, 213/14 1 Zagadnienia, wykład, laboratorium Wykład: Światło i barwa. Modele barw. Charakterystyki obrazu. Reprezentacja i opis. Kwantyzacja skalarna

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo