Techniki wizualizacji. Ćwiczenie 2. Obraz cyfrowy w komputerze
|
|
- Bogumił Nowicki
- 8 lat temu
- Przeglądów:
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
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ółowoZał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ółowoGrafika 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ółowoWedł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
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ółowoFormaty 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ółowodr 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ółowoTechniki 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ółowoPODSTAWY 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ółowoGimp 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ółowoPę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ółowoBaltie 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ółowoANALIZA 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ół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ółowoInż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ółowoOperacje 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ółowoTechnologie 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ółowoInż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ół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ółowoNiezwykł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ółowoGRAFIKA 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ółowoInż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ółowoCał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ółowoTablice. 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ółowoWskaź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ółowoLABORATORIUM 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ółowoPrzekształ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ółowoINFORMATYKA 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ółowoProgramowanie 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ółowodr 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ółowoPodstawy 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ółowoObraz 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ółowoPodstawy 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ółowoKurs 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ółowoOdczytywanie 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ółowoMetody 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) 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ół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ół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ółowoZadania 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ółowoPodstawy 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ółowoTemat 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ółowoFormaty 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ółowoWYDZIAŁ 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ółowoWprowadzenie 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ółowoPodstawy 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ółowoPodstawą 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ółowoGrafika 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ółowoTechniki 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ółowoDiagnostyka 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ółowoWykł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ółowoProgramowanie 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ółowoGrafika 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ółowoDiagnostyka 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ółowoArchitektura 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ółowo1.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ółowo1 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ółowoLaboratorium. 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ół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ółowoAlgorytmy 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ółowoJak 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ół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ółowoPo 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ółowoSchematy 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ół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ółowo7. 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ół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ółowoGRAFIKA 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ółowoBitmapy - 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ółowoRozpoznawanie 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ółowoTeoria 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ółowoMaciej 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ółowoMetody 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ółowoInstrukcja 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ółowoZapisywanie 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ółowoDane 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ółowoWykorzystanie 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ółowoWarsztaty 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ółowo1 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ółowoDla 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ół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ółowoZamiana 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ółowoInstytut 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ółowoPytania 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ółowoKodowanie 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ółowoAKADEMIA 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ółowoKompresja 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ółowoDo 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ółowoSynteza 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ółowon, 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.
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ółowoMatlab, 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ółowoSposoby 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ółowoMS 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ółowoNazwa 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ółowoMarcin 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ółowoznajdował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