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

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

Histogram obrazu, modyfikacje histogramu

Wprowadzenie do Python

Memeo Instant Backup Podręcznik Szybkiego Startu

Metody eksploracji danych Laboratorium 1. Weka + Python + regresja

Instalacja NOD32 Remote Administrator

Instrukcja obsługi programu PLOMP PLUS FM

Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

BIBLIOTEKA NUMPY, CZĘŚĆ 1

Podstawy analizy danych numerycznych w języku Python

Wyższa Szkoła Informatyki Stosowanej i Zarządzania

Szanowni Państwo. Należy przy tym pamiętać, że zmiana stawek VAT obejmie dwie czynności:

Tytuły Wykonawcze. Opis systemu tworzenia dokumentacji TW-1

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

Diagnostyka obrazowa

ALGORYTMY PRZETWARZANIA OBRAZÓW Projekt. Aplikacja przetwarzająca obrazy z możliwością eksportu i importu do programu MS Excel.

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

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Menu Plik w Edytorze symboli i Edytorze widoku aparatów

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Michał Strzelecki Metody przetwarzania i analizy obrazów biomedycznych (3)

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

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Jak utworzyć plik SIO dla aktualnego spisu?

Python : podstawy nauki o danych / Alberto Boschetti, Luca Massaron. Gliwice, cop Spis treści

Diagnostyka obrazowa

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

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna)

Czytnik kart pamięci 8w1, Conrad USB 2.0 Instrukcja obsługi

1. Ćwiczenia z programem PowerPoint

Programy dodatkowe (Plug-Ins)

Test diagnostyczny dla uczniów klas pierwszych Technikum Zawodowego nr 2. Ogólne zasady pracy z komputerem w środowisku Windows

Rozdział 1. Zastosowanie komputera w życiu codziennym Rozdział 2. Elementy zestawu komputerowego...11

Instrukcja konfiguracji programu KS-ASW do pracy w trybie wielopodmiotowym

Laboratorium Cyfrowego Przetwarzania Obrazów

Technologie informacyjne: Excel i Python

Liczba godzin. Poziom wymagań ponadpodstawowy

Aby przejść do edycji w tym module należy wybrać zakładkę "Dla Pracowników" -> "Sprawdziany".

Instrukcjaaktualizacji

WYŚWIETLACZE GRAFICZNE I TEKSTOWE 7 KOLOROWE

Wprowadzenie do Scilab: funkcje i wykresy

Laboratorium Przetwarzania Sygnałów

INSTRUKCJA IMPORTOWANIA

Wiadomości i umiejętności

finiownia loginów. W zależności od ustawionej opcji użytkownik login:

AUTOVIEW Katalog sylwetek pojazdów. Instrukcja instalacji i wykorzystania w programach Cyborg Idea. C.A.R. Crash Analyse Ratschbacher GmbH

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

author: Andrzej Dudek

Acronis Backup & Recovery 10 Server for Linux. Instrukcja szybkiego rozpoczęcia pracy

Python: JPEG. Zadanie. 1. Wczytanie obrazka

Jak zrobić za pomocą programu SALSA-J kolorowy obrazek, mając trzy zdjęcia w barwach podstawowych?

Systemy operacyjne. Zasady lokalne i konfiguracja środowiska Windows 2000

Zastępstwa Optivum. Jak przenieść dane na nowy komputer?

Wymagania edukacyjne na ocenę z informatyki klasa 3

POLITECHNIKA OPOLSKA

Kadry Optivum. Jak wykonać eksport danych do SIO z programu Kadry Optivum?

Instalowanie VHOPE i plików biblioteki VHOPE

Cała prawda o plikach grafiki rastrowej

Rok akademicki: 2016/2017 Kod: JIS s Punkty ECTS: 6. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Dodatek 4. Zadanie 1: Liczenie plam słonecznych w różnych dniach. Po uruchomieniu programu SalsaJ otworzy się nam okno widoczne na rysunku 4.1.

LABORATORIUM TELEMONITORINGU OBIEKTÓW I AGLOMERACJI. Temat: Metody anonimizacji obrazu

Scenariusze obsługi danych MPZP

program TRX

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 15 PRACA W TRYBIE MS-DOS. Opracował Sławomir Zieliński

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

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika)

Aplikacje WWW - laboratorium

1 Temat: Wprowadzenie do biblioteki OpenCV

1. Pobieranie i instalacja FotoSendera

Płace Optivum. Jak wykonać eksport danych do SIO z programu Płace Optivum? Przygotowanie pliku dla SIO w programie Płace Optivum

Politechnika Świętokrzyska. Laboratorium. Przetwarzanie obrazów medycznych. Ćwiczenie 12. Wykorzystanie transformacji Radona i Hougha.

Sigplus. Galeria w Joomla

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Aplikacje WWW - lab 5

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6

Jak pracować grupowo nad plikiem SIO podczas eksportu danych z programów Optivum?

Problemy techniczne. Jak uruchomić program Optivum dla wybranej licencji w przypadku, gdy jednostka posiada dwie licencje na używanie programu?

Kod składa się z kodu głównego oraz z odpowiednich kodów dodatkowych (akcesoriów). Do kodu można przyłączyć maksymalnie 9 kodów dodatkowych.

3. Opracować program kodowania/dekodowania pliku tekstowego. Algorytm kodowania:

Aktualizacja map TT Europa. Aktualizacja map TT Europa w programie mapfactor Navigator w urządzeniach SmartGPS - instrukcja

Podstawy obsługi pakietu GNU octave.

Kompresja obrazów i formaty plików graficznych

Podstawy biblioteki Matplotlib

Wykorzystanie programów komputerowych do obliczeń matematycznych

System kontroli dostępu ACCO NET Instrukcja instalacji

Instrukcja Pre Press_2019.

Wykład 9 Kolekcje, pliki tekstowe, Przykład: Notatnik

Warstwa Rysunek bitmapowy Rysunek wektorowy

IBM SPSS Statistics - Essentials for Python: Instrukcje instalacji dla Windows

Aplikacje WWW - laboratorium

Plan nauczania informatyki Opracował: mgr Daniel Starego

Kancelaria 2.26 zmiany w programie czerwiec 2014

Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji

Podstawy Pentaho Data Integration

Rok akademicki: 2013/2014 Kod: JIS s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Programowanie w języku Python. Grażyna Koba

Transkrypt:

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 i sprawdzić obecność modułów wykorzystywanych do obróbki obrazów. W tym celu wylistować wszystkie zainstalowane pakiety poleceniem pip3 freeze. Na liście odszukać pakiety o nazwach: scipy, numpy, matplotlib, scikit-image, opencv-python, pydicom. Pakiety nieobecne na liście doinstalować kolejno poleceniem pip3 install [nazwa_modułu]. Aktualizacja modułów wymaga wykonania polecenia pip3 install [nazwa modułu] -- upgrade. Pakiet scipy tworzy podstawowe środowisko dla operacji matematycznych, obliczeń naukowych I inżynierskich realizowanych przez pakiety wymienione poniżej. Te dodatkowe pakiety najlepiej importować w treści skryptu poleceniami: import numpy as np podstawowy pakiet obliczeń numerycznych z wykorzystaniem tablic wielowymiarowych ndarray obejmujący operacje na tych tablicach import skimage as skimg from skimage import io from skimage import color skimage (scikit-image) to pakiet podstawowych procedur przetwarzania obrazów do swobodnego wykorzystania, bez ograniczeń licencyjnych. skimage.io moduł procedur odczytu plików obrazowych do tablic w pamięci operacyjnej, wyświetlania obrazów w oknie i zapisu tablic obrazów do pliku binarnego w formatach specyficznych dla danego typu obrazu. skimage.color moduł procedur różnych transformacji wielowymiarowych tablic obrazów ndarray przestrzeni koloru import pydicom as dicom pakiet procedur do obróbki obrazów zapisanych w formacie plików DICOM wykorzystywanych w medycynie i biologii. import cv2 pakiet opencv-python zawierający niezależną bibliotekę obróbki obrazów OpenCV stworzoną oryginalnie w języku C++. W bieżącym ćwiczeniu można ją zastosować przy zapisie i odczycie wieli

obrazów z pliku oraz do wyświetlania obrazów dwuwymiarowych i wpisywania do nich różnych markerów import matplotlib.pyplot as plt from matplotlib.pyplot import cm import matplotlib.image as mpimg import matplotlib.patches as patches moduły pakietu matplotlib umożliwiające odczyt i zapis obrazów oraz tworzenie napisów, wykresów i wyświetlanie obrazów w oknie. Przepisać do folderu lokalnego images obrazy testowe pobrane z zasobu katalogowego o tej samej nazwie w bazie WIKAMP. Uruchomić środowisko Spyder3 z konsolą IPython do wykonywania podanych poniżej zadań w formie różnych funkcji skryptu input_output.py. Zadanie 1 Odczytać kolejno wszystkie pliki obrazowe (tif, jpg, png, bmp) z podkatalogu input1 przy pomocy funkcji matplotlib.image.imread i wyświetlić ich treści w wyskakującym oknie przy pomocy funkcji matplotlib.pyplot.imshow jako obrazy w odcieniach szarości lub obrazy kolorowe (true color). Następnie odwrócić poziomy jasności (składowych koloru) w tablicach obrazów. Odwrócone obrazy wyświetlić w nowym oknie i następnie zapisać w podkatalogu output jako pliki obrazów tego samego typu (matplotlib.image.imsave), z nazwą oryginalnego pliku uzupełnioną cyfrą 2 (os.path.split, os.path.basename, os.path.splitext, lub filename.split). Usunąć opisy osi funkcjami matplotlib.pyplot.axis('off') lub matplotlib.pyplot..xticks([ ]), matplotlib.pyplot..yticks([ ]). a) b)

Rys. 1. a) Obraz z poziomami jasności odczytany w osobnym oknie, b) obraz z odwróconymi poziomami jasności a) b) Rys. 2. a) Obraz kolorowy RGB odczytany w osobnym oknie, b) obraz RGB z odwróconymi poziomami składowych koloru Zadanie 2 Odczytać kolejno wszystkie pliki obrazowe (tif, jpg, png, bmp, gif) z podkatalogu input1 przy pomocy funkcji skimage.io.imread i wykonać ich kopie, na których należy odwrócić oryginalną treść obrazów na zasadzie zwierciadła. Wyświetlić obok siebie, w jednym wierszu obraz oryginalny i odwrócony, w jednym oknie wyskakującym przy pomocy funkcji matplotlib.pyplot. Na obrazach usunąć skale na osiach. Zmodyfikowane kopie obrazów zapisać w podkatalogu output jako pliki obrazów tego samego typu (przy pomocy skimage.io.imsave), z nazwą oryginalnego pliku uzupełnioną cyfrą 3.

Rys. 3. Obrazy wraz ze swoim odbiciami zwierciadlanymi wyświetlone w jednym wierszu tego samego okna, a) obraz z poziomami jasności, b) obraz kolorowy RGB Zadanie 3 Powtórzyć zadanie 2 korzystając z funkcji odczytu pliku cv2.imread w pakiecie opencv, także z funkcji wyświetlania cv2.imshow i zapisu pliku cv2.imwrite. Zapisać do dysku również obrazy luminancji o głębokości 8 bit (funkcje cv2. cvtcolor lub skimage.color.rgb2gray) Rys. 4. Obraz z poziomami jasności i jego odbicie zwierciadlane wyświetlone w osobnych oknach przy użyciu funkcji z pakietu opencv

a) b) c) Rys. 5. Obraz kolorowy RGB a) i jego odbicie zwierciadlane b) oraz odbicie zwierciadlane luminancji obrazu c) wyświetlone w osobnych oknach przy użyciu funkcji z pakietu opencv Zadanie 4 Napisać funkcję contrast_stretch do rozciągania kontrastu w obrazie 2D z wieloma poziomami jasności, wyświetlającą obraz po załadowaniu z pliku i obraz wynikowy z rozciągniętym kontrastem w zakresie percentyli od 2% do 98% podanym jako parametr funkcji (numpy.percentile). Wyświetlić także histogram obrazu przed i po rozciągnięciu dla różnej ilości słupków (matplotlib.pyplot.hist). Zastosować funkcję wbudowaną (skimage.exposure.rescale_intensity). Zadanie 5 Napisać funkcję contrast_stretch_3d do rozciągania kontrastu w obrazie 3D, na jednym z obrazów DICOM 3D w katalogu \images\input2. wyświetlającą obraz po załadowaniu i obraz wynikowy z rozciągniętym kontrastem w zakresie percentyli od 2% do 98% podanym jako parametr funkcji (numpy.percentile). Wyświetlić także histogram obrazu przed i po rozciągnięciu dla różnej ilości słupków (matplotlib.pyplot.hist).

a) b) c) d) e)

Rys. 6. a) Obraz testowy skimage.data.moon() w oryginale i po rozciągnięciu histogramu umieszczone w jednym oknie, b) histogram oryginału, c) histogram rozciągnięty, d) dystrybuanta oryginału, e) dystrybuanta po rozciągnięciu Zadanie 6 Napisać funkcję contrast_equalize do wyrównywania kontrastu w obrazie 2D z wieloma poziomami jasności, wyświetlającą obraz po załadowaniu i obraz wynikowy z wyrównanym kontrastem (matplotlib.pyplot.hist). Wyświetlić także histogram obrazu przed i po rozciągnięciu dla różnej ilości słupków (32, 64, 256). Zastosować funkcję wbudowaną (skimage.exposure.equalize_hist, skimage. exposure.equalize_adapthist oraz cv2. equalizehist ).

Rys. 7. a) Obraz testowy skimage.data.moon() w oryginale i po globalnym wyrównaniu histogramu umieszczone w jednym oknie, b) histogram oryginału, c) histogram wyrównany, d) dystrybuanta oryginału, e) dystrybuanta po wyrównaniu