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

Podobne dokumenty
POB Odpowiedzi na pytania

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

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

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

Proste metody przetwarzania obrazu

Detekcja twarzy w obrazie

Maskowanie i selekcja

Operator rozciągania. Obliczyć obraz q i jego histogram dla p 1 =4, p 2 =8; Operator redukcji poziomów szarości

3. OPERACJE BEZKONTEKSTOWE

Przenoszenie, kopiowanie formuł

UONET+ - moduł Sekretariat. Jak wykorzystać wydruki list w formacie XLS do analizy danych uczniów?

Diagnostyka obrazowa

Matematyka grupa Uruchom arkusz kalkulacyjny. 2. Wprowadź do arkusza kalkulacyjnego wartości znajdujące się w kolumnach A i B.

Instrukcja użytkownika ARSoft-WZ3

Przewodnik dla każdego po: Dla każdego coś miłego Microsoft Excel 2010

Katarzyna Bereźnicka Zastosowanie arkusza kalkulacyjnego w zadaniach matematycznych. Opiekun stypendystki: mgr Jerzy Mil

Ćwiczenie 1 - Arkusze kalkulacyjne

Temat: Arkusze kalkulacyjne. Program Microsoft Office Excel. Podstawy

Zagadnienia: Program ten umożliwi Tobie między innymi: tworzenie arkuszy kalkulacyjnych wyszukiwanie i analizę danych tworzenie wykresów (diagramów)

Excel formuły i funkcje

Arkusz kalkulacyjny MS EXCEL ĆWICZENIA 4

Instrukcja użytkownika aplikacji modernizowanego Systemu Informacji Oświatowej PRACA NA WIELU BAZACH DANYCH

Instrukcja obsługi programu SWWS autorstwa Michała Krzemińskiego

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

1. Opis okna podstawowego programu TPrezenter.

Wprowadzenie do MS Excel

Zasady wypełniania formularza sprawozdań za 2014 w Excelu

Tworzenie strony www - jako projektu z Mechaniki i budowy maszyn

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Diagnostyka obrazowa

Zasady wypełniania formularza sprawozdań za 2016 rok w Excelu. 6 komórek zawiera formuły. Są one oznaczone: lub wyświetla się w nich 0.

Komputerowe obrazowanie medyczne

Informatyka KONSPEKT LEKCJI W SZKOLE PONADGIMNAZJALNEJ

Praca z wynikami w ALOORA

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

MS Excel 2007 Kurs zaawansowany Obsługa baz danych. prowadzi: Dr inż. Tomasz Bartuś. Kraków:

4.Arkusz kalkulacyjny Calc

Filtracja obrazu operacje kontekstowe

Zygmunt Wróbel i Robert Koprowski. Praktyka przetwarzania obrazów w programie Matlab

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

UONET+ moduł Dziennik. Praca z rozkładami materiału nauczania

Diagnostyka obrazowa

MS Excel cz.1 funkcje zaawansowane

Wspólne Zaawansowana tabela

Rozciąganie histogramu

Microsoft EXCEL SOLVER

1. Objaśnienia do sprawozdania.

UONET+ moduł Dziennik. Praca z rozkładami materiału nauczania

Bazy danych kwerendy (moduł 5) 1. Przekopiuj na dysk F:\ bazę M5KW.mdb z dysku wskazanego przez prowadzącego

Informatyka w Zarządzaniu

Dodawanie grafiki i obiektów

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

Operacje przetwarzania obrazów monochromatycznych

plansoft.org Zmiany w Plansoft.org Błyskawiczny eksport danych PLANOWANIE ZAJĘĆ, REZERWOWANIE SAL I ZASOBÓW

Temat: Organizacja skoroszytów i arkuszy

Finanse VULCAN. Import planu finansowego z Sigmy

Jak korzystać z Excela?

Przypomnienie: Ćwiczenie 1.

Formuły formułom funkcji adresowania odwoływania nazwy Funkcja SUMA argumentami SUMA

Geomatyka02 Wczytanie danych, obliczenie długości, azymutu i kąta ze współrzędnych. Przygotowanie do pracy

Arkusz strona zawierająca informacje. Dokumenty Excela są jakby skoroszytami podzielonymi na pojedyncze arkusze.

Zagadnienia programowania liniowego dotyczą modelowania i optymalizacji wielu problemów decyzyjnych, na przykład:

Edytor materiału nauczania

Implementacja filtru Canny ego

WOJEWÓDZTWO PODKARPACKIE

WYKŁAD 3. Przykłady zmian w obrazie po zastosowaniu Uniwersalnego Operatora Punktowego

Świadectwa Optivum. Eksport danych uczniów w formacie SOU z przygotowanego pliku świadectw

Jak rozpocząć pracę? Mapa

Spis treści Panel kontrolny - parametry Wybór jednostek Kontrolka czasu Kontrolka wyboru zestawienia danych...

Krótki przewodnik po Open Calc

Makropolecenia w Excelu

Ekonometria. Regresja liniowa, współczynnik zmienności, współczynnik korelacji liniowej, współczynnik korelacji wielorakiej

Podstawowe operacje i rodzaje analiz dostępne w pakiecie Statistica

Przykład 1. (Arkusz: Sortowanie 1 )

BIBLIOTEKA LOKALNE CENTRUM WIEDZY PRAKTYCZNEJ PRZEWODNIK PO NARZĘDZIACH WARSZTAT NR 1: ARKUSZE KALKULACYJNE - MINI SKRYPT

Instrukcja obsługi. Generatora CSV

Funkcja jest to złożona gotowa do użytku formuła np. zamiast żmudnie sumować komórki od B1 do B32, można zastosować funkcję =SUMA(B1:32).

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz.3

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

Laboratorium 7b w domu wykresy w Excelu

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

opracował: mgr inż. Piotr Marchel Instrukcja obsługi programu Struktura

Informatyka dla klas I wykresy funkcji

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Przetwarzanie obrazu

Ćwiczenie 6 MS EXCEL

FORMULARZE I FORMANTY MS EXCEL 1. TEORIA

Praktyczne wykorzystanie arkusza kalkulacyjnego w pracy nauczyciela część 1

Ewidencja Opłat za Korzystanie ze Środowiska

epuap Archiwizacja w Osobistym Składzie Dokumentów

Rozwiązywanie programów matematycznych

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 3 AiR III

Rozwiązanie. Uruchom program Access 2007.

EXCEL Prowadzący: dr hab. inż. Marek Jaszczur Poziom: początkujący

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy

ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL. sin x2 (1)

3. Wprowadź opis: kolumna A J. angielski, kolumna B J. polski. Obejrzyj animację pt. Wprowadzanie danych, aby dowiedzieć się, jak to zrobić.

ARKUSZ KALKULACYJNY komórka

Transkrypt:

Grupa IZ07IO1 Wyższa Szkoła Informatyki Stosowanej i Zarządzania WIT ALGORYTMY PRZETWARZANIA OBRAZÓW Projekt Aplikacja przetwarzająca obrazy z możliwością eksportu i importu do programu MS Excel. Wykonali: 1. Skolimowski Arkadiusz 2. Tomasiak Andrzej Prowadzący: dr inż. Marek Doros 1

Warszawa 2011/2012 2

Spis treści Instalacja... 4 Interface aplikacji... 5 Histogram... 6 Eksport i import... 7 Przestrzenie barw... 8 Operacje jednopunktowe... 9 Operacje sąsiedztwa... 11 Analizy... 13 Maska wygładzania... 13 Erozja... 15 Negacja... 17 3

Instalacja Wszystkie pliki potrzebne do działania programu znajdują się a archiwum rar. Program wymaga zainstalowania pakietu.net Framework w wersji 3.5. 4

Interface aplikacji Po uruchomieniu programu i otworzeniu obrazu po lewej stronie wyświetla się histogram analizowanego obrazu. Możemy także wyświetlić informację o wartościach składowych kolorów każdego piksela (Red, Green, Blue, Hue, Saturation, Value). Ryc. 1 Okno programu po wczytaniu obrazka. Wybierając z górnego menu Narzędzia>Zaznaczanie możemy zaznaczyć na obrazie wybrany fragment, który będzie podlegał dalszej analizie. 5

Histogram Program umożliwia przekształcenie obrazu do skali szarości przez wybranie z górnego menu Histogram>Skala szarości. Możliwe jest także wykonanie wygładzania histogramu czterema metodami: metoda średniej wartości dwóch sąsiednich elementów, metoda losowego przydzielania wartości w przedziale, metoda średniej sąsiedztwa, metoda własna, oparta o dystrybuantę, która określa liczbę punktów w obrazie o wartości składowej mniejszej lub równej i podzieloną przez liczbę wszystkich punktów w obrazie. Program umożliwia zapisania histogramu przez złapanie aktywnego histogramu i przeciągnięcia go pod tablicę przedstawiającą wartości liczbowe poszczególnych kanałów. Kliknięcie lewym przyciskiem myszy na zapisanym histogramie pozwala przywrócić obraz, który służył do jego utworzenia. 6

Eksport i import Program umożliwia eksport obrazów do programu Excel. W celu wykonania eksportu należy zaznaczyć wybrany obraz lub jego fragment i z górnego menu wybrać opcję Eksport. Pojawi się formularz eksportu obrazu. Ryc. 2 Formularz eksportu obrazu. Możemy wybrać czy chcemy eksportować obraz bezpośrednio do programu Excel, czy może do pliku *.csv. Możemy także wybrać zakres barw, które chcemy zapisać (skala szarości, kanały RGB, kanały HSB) oraz kanały które chcemy zachować. Program umożliwia także import obrazów z programu Excel. Należy wybrać z górnego menu opcję Import. Pojawi się formularz importu obrazu. Ryc. 3 Formularz importu obrazu. Należy wybrać czy chcemy importować obraz z pliku *.csv, czy z otwartego arkusza programu Excel. Musimy także określić w jaki sposób zapisane były kolory w pliku oraz, który arkusz odpowiada określonemu kanałowi. 7

Przestrzenie barw Program domyślnie pobiera wartości RGB danego piksela. Stosowana jest metoda GetPixel(int x, int y) z przestrzeni nazw System.Drawing. Przeliczenie wartości koloru z kanałów RGB na skalę szarości polega na wyciągnięciu średniej arytmetycznej z trzech składowych barw. Ponieważ w miejsce trzech kanałów zapisywany jest jeden nie ma możliwości odtworzenia pierwotnych kolorów obrazu. Kolejne eksporty do skali szarości nie powodują dalszych zmian obrazu. Przeliczenie wartości koloru z kanałów RGB na kanały HSB także jest operacją niemożliwą do odwrócenia. Prowadzi do nieodwracalnych zmian na obrazie. Kolejne eksporty do przestrzeni HSB nie prowadzą do dalszych zmian. Ryc. 4 Obraz i jego histogram w przestrzeni barw RGB, oraz po eksporcie do HSB. 8

Operacje jednopunktowe Do operacji jednopunktowych, możliwych do zrealizowanie programem należą operacje: negacji, posteryzacji, progowania, zmiany jasności, zmiany kontrastu, zmiany gamma, uniwersalny operator jednopunktowy, dodawanie, odejmowanie, mnożenie, logiczny AND, logiczny OR, logiczny XOR. Algorytm negacji odejmuje od wartości 255 wartość badanego piksela. Algorytm posteryzacji redukuje liczbę występujących na obrazie barw do określonej liczby poziomów. Algorytm progowania zmienia wartości RGB danego piksela na 0, jeśli są poniżej zadanego progu i na 255 jeśli są równe lub większe od danego progu. Algorytm operacji zmiany jasności dodaje do każdej ze składowych RGB pewną stałą wartość, przy założenie, że wartość wynikowa musi się mieścić w przedziale od 0 do 255. Algorytm operacji zmiany kontrastu zmienia kontrast w zależności od współczynnika. Zwiększanie kontrastu obrazu powoduje systematyczne rozszerzanie zakresu histogramu względem środka zakresu składowej. Zmniejszanie kontrastu prowadzi natomiast do zwężania histogramu obrazu. Algorytm operacji zmiany współczynnika gamma sprowadza się do wykonania przekształcenia obrazu przy pomocy odpowiednio przygotowanej tablicy LUT. Współczynniki w takiej tablicy wyznaczane są wg następującego wzoru: LUT(i) = i1/γ Uniwersalny operator jednopunktowy pozwala użytkownikowi na wprowadzenie dowolnych wartości do tablicy LUT. Służy do tego prosty interface graficzny. 9

Ryc. 5 Inerface uniwersalnego operatora jednopunktowego. Punkty otrzymane w wyniku użycia kontrolki są wpisywane do tablicy LUT po czym uzupełniane są pozostałe pozycje przy pomocy interpolacji pomiędzy punktami otrzymanymi z kontrolki. Tak przygotowana tablica jest wykorzystywana do przetworzenia obrazu. Dodatkowo zrealizowane zostały operatory dodawania, odejmowania, mnożenia, sumy logicznej, ilorazu logicznego oraz alternatywy wykluczającej. Algorytm wykonujący powyższe operacje opiera się na prostych działaniach matematycznych (dodawanie, odejmowanie, mnożenie) oraz logicznych operatorach ( and, or, xor). 10

Operacje sąsiedztwa Do operacji sąsiedztwa, możliwych do zrealizowanie programem należą operacje: zastosowania maski wygładzania i wyostrzania, mediany 3x3, 5x5 i 7x7, erozji, dylatacji, otwarcia, zamknięcia. Algorytm zastosowania maski wygładzania pobiera za pomocą kontrolki wartości maski (aby zastosować maskę wygładzającą należy wpisać 1 w środkowy kwadrat maski wyostrzającej). Ryc. 6 Kontrolka wyboru maski wygładzającej. Algorytm oblicza sumę liczb w masce k, mnoży wartość każdego piksela przez odpowiadającą mu wartość z maski. Obliczana jest suma iloczynów, która dzielona jest przez obliczoną wcześniej wartość k. Algorytm zastosowania maski wyostrzającej pobiera za pomocą kontrolki wartości maski (aby zastosować maskę wyostrzającą należy wpisać 1 w środkowy kwadrat maski wygłądzającej). 11

Ryc. 7 Kontrolka wyboru maski wyostrzającej. Algorytm mnoży wartość każdego piksela przez odpowiadającą mu wartość z maski i oblicza sumę iloczynów. Algorytm mediany 3x3, 5x5 i 7x7 pobiera wartości pikseli z wybranego sąsiedztwa i układa je w kolejności. Następnie wybierana jest wartość środkowa i wstawiana jako nowa wartość piksela. Algorytm erozji opiera się na wybraniu piksela o wartości najmniejszej i wstawieniu go w miejsce środkowego. Algorytm dylatacji opiera się na wybraniu piksela o wartości największej i wstawieniu go w miejsce środkowego. Algorytm otwarcia opiera się na wykonaniu operacji erozji, a nastepnie na tak przetworzonym obrazie operacji dylatacji. Algorytm zamknięcia opiera się na wykonaniu operacji dylatacji, a nastepnie na tak przetworzonym obrazie operacji erozji. Wszystkie powyższe algorytmy można przeprowadzić dla dwóch przypadków elementu strukturalnego, czyli rombu (czterosąsiedztwo) i kwadratu (ośmiosąsiedztwo). 12

Analizy Maska wygładzania Z obrazu cherry.bmp wycięto kawałek o wymiarach 44 na 38 pikseli. Pokazane są także wartości kanałów RGB części analizowanego wycinka. R G B 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 254 255 255 255 255 255 255 255 251 255 255 255 255 255 255 253 249 255 255 255 255 255 254 250 246 255 255 255 255 254 252 248 245 255 255 254 254 252 249 245 244 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 254 255 255 255 255 255 255 255 251 255 255 255 255 255 255 253 249 255 255 255 255 255 254 250 247 255 255 255 255 254 252 248 245 255 255 254 254 252 249 245 244 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 254 255 255 255 255 255 255 255 251 255 255 255 255 255 255 253 249 255 255 255 255 255 254 250 246 255 255 255 255 254 252 248 245 255 255 254 254 252 249 245 244 Ryc. 8 Obraz oryginalny. Obraz poddano obróbce w programie. Zastosowano maskę wygładzającą: 1 2 1 2 4 2 1 2 1 Wybrano opcję kopiowania skrajnych kolumn i wierszy obrazu. Efektem jest wygładzenie ostrości krawędzi obrazu. 13

R G B 255 255 255 255 255 255 254 253 255 255 255 255 255 255 254 252 255 255 255 255 255 254 253 251 255 255 255 255 254 254 252 249 255 255 255 254 254 253 250 247 255 254 254 254 253 251 248 245 254 254 254 253 251 248 245 244 255 255 255 255 255 255 254 253 255 255 255 255 255 255 254 252 255 255 255 255 255 254 253 251 255 255 255 255 254 254 252 249 255 255 255 254 254 253 250 247 255 254 254 254 253 251 248 245 254 254 254 253 251 248 245 244 255 255 255 255 255 255 254 253 255 255 255 255 255 255 254 252 255 255 255 255 255 254 253 251 255 255 255 255 254 254 252 249 255 255 255 254 254 253 250 247 255 254 254 254 253 251 248 245 254 254 254 253 251 248 245 244 Ryc. 9 Obraz po przetworzeniu w programie. Wycinek obrazu wyeksportowano do programu Microsoft Excel i skopiowano skrajne wiersze i kolumny. Następnie obraz poddano obróbce. Dla komórki B2 zastosowano formułę, którą następnie rozciągnięto na wszystkie komórki obrazu: ZAOKR.DO.CAŁK((A1+C1+A3+C3+2*(B1+C2+B3+A2)+4*B2)/16). Formuła ta odpowiada masce zastosowanej w programie. R G B 255 255 255 255 255 255 254 253 255 255 255 255 255 255 254 253 255 255 255 255 255 255 254 253 255 255 255 255 255 255 254 252 255 255 255 255 255 254 253 251 255 255 255 255 254 254 252 249 255 255 255 254 254 253 250 247 255 254 254 254 253 251 248 245 254 254 254 253 251 248 245 244 255 255 255 255 255 255 254 252 255 255 255 255 255 254 253 251 255 255 255 255 254 254 252 249 255 255 255 254 254 253 250 247 255 254 254 254 253 251 248 245 254 254 254 253 251 248 245 244 255 255 255 255 255 255 254 252 255 255 255 255 255 254 253 251 255 255 255 255 254 254 252 249 255 255 255 254 254 253 250 247 255 254 254 254 253 251 248 245 254 254 254 253 251 248 245 244 14

Ryc. 10 Obraz po przetworzeniu w Excelu. Efekty uzyskane przy pomocy programu, jak i przy pomocy Excela są takie same. Równiej histogramy są takie same. Obra programy dokonują takich samych obliczeń i zaokrąglają liczby w ten sam sposób. Erozja Obraz poddano operacji erozji/romb. Najpierw jednak należało zmienić obraz na szaroodcieniowy (Histogram>Skala szarości). Skala szarości 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 254 255 255 255 255 255 255 255 251 255 255 255 255 255 255 253 249 255 255 255 255 255 254 250 247 255 255 255 255 254 252 248 245 255 255 254 254 252 249 245 244 Ryc. 11 Obraz oryginalny w skali szarości. Następnie wykonano operację: Sąsiedztwa>Erozja>Romb. 15

Skala szarości 255 255 255 255 255 255 255 251 255 255 255 255 255 255 254 249 255 255 255 255 255 255 251 248 255 255 255 255 255 253 249 247 255 255 255 255 254 250 247 245 255 255 254 254 252 248 245 244 254 254 253 252 249 245 243 243 Ryc. 12 Obraz po przetworzeniu w programie. Obraz poddano także obróbce w Excelu. Zastosowano formułę MIN(B1;A2;B2;C2;B3). Skala szarości 255 255 255 255 255 255 255 251 255 255 255 255 255 255 254 249 255 255 255 255 255 255 251 248 255 255 255 255 255 253 249 247 255 255 255 255 254 250 247 245 255 255 254 254 252 248 245 244 254 254 253 252 249 245 243 243 Ryc. 13 Obraz po przetworzeniu w Excelu. 16

Negacja Ponownie uzyskano takie same efekty jak za pomocą programu. Z operacji jednopunktowych wybrano operację negacji. Operację wykonano w programie. R G B 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 4 0 0 0 0 0 0 2 6 0 0 0 0 0 1 5 9 0 0 0 0 1 3 7 10 0 0 1 1 3 6 10 11 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 4 0 0 0 0 0 0 2 6 0 0 0 0 0 1 5 8 0 0 0 0 1 3 7 10 0 0 1 1 3 6 10 11 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 4 0 0 0 0 0 0 2 6 0 0 0 0 0 1 5 9 0 0 0 0 1 3 7 10 0 0 1 1 3 6 10 11 Ryc. 14 Obraz po przetworzeniu w programie. Tą samą operację wykonano w Excelu. Użyto formuły 255-B2. 17

R G B 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 4 0 0 0 0 0 0 2 6 0 0 0 0 0 1 5 9 0 0 0 0 1 3 7 10 0 0 1 1 3 6 10 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 4 0 0 0 0 0 0 2 6 0 0 0 0 0 1 5 8 0 0 0 0 1 3 7 10 0 0 1 1 3 6 10 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 4 0 0 0 0 0 0 2 6 0 0 0 0 0 1 5 9 0 0 0 0 1 3 7 10 0 0 1 1 3 6 10 11 Ryc. 15 Obraz po przetworzeniu w Excelu. Ponownie uzyskano takie same rezultaty jak w przypadku programu. 18