Operacje przetwarzania obrazów monochromatycznych

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

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

Proste metody przetwarzania obrazu

3. OPERACJE BEZKONTEKSTOWE

POB Odpowiedzi na pytania

Diagnostyka obrazowa

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

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

Diagnostyka obrazowa

Implementacja filtru Canny ego

Detekcja twarzy w obrazie

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

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

Diagnostyka obrazowa

Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy prosty i skuteczny.

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

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

PRZETWARZANIE OBRAZÓW Sprawozdanie z ćwiczeń. Ćwiczenie 2. Korekcja zniekształceń radiometrycznych

Rozciąganie histogramu

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych

Przekształcenia punktowe

Przetwarzanie obrazów cyfrowych

Rozpoznawanie Twarzy i Systemy Biometryczne

Podstawy grafiki rastrowej Laboratoria część III

ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM)

Analiza i przetwarzanie obrazów

AKWIZYCJA I PRZETWARZANIE WSTĘPNE

Histogram obrazu, modyfikacje histogramu

Przekształcenia punktowe i geometryczne

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

Filtracja liniowa (metody konwolucyjne, tzn. uwzględniające pewne otoczenie przetwarzanego piksla):

Diagnostyka obrazowa

Przetwarzanie obrazów wykład 2

KOREKTA ROZKŁADU JASNOŚCI (obrazy monochromatyczne i barwne)

Przetwarzanie obrazów wykład 4

Akademia Górniczo - Hutnicza im. Stanisława Staszica w Krakowie. Projekt. z przedmiotu Analiza i Przetwarzanie Obrazów

Filtracja obrazu operacje kontekstowe

Diagnostyka obrazowa

Przetwarzanie obrazów rastrowych macierzą konwolucji

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Przetwarzanie obrazu

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

9. OBRAZY i FILTRY BINARNE 9.1 Erozja, dylatacja, zamykanie, otwieranie

Przetwarzanie obrazów. Grupy metod przetwarzania obrazu. Przetwarzanie jednopunktowe. Przetwarzanie jednopunktowe. Przetwarzanie jednopunktowe

POPRAWIANIE JAKOŚCI OBRAZU W DZIEDZINIE PRZESTRZENNEJ (spatial image enhancement)

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

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

Analiza obrazów - sprawozdanie nr 2

Metody komputerowego przekształcania obrazów

AKWIZYCJA I PRZETWARZANIE WSTĘPNE OBRAZU

Spis treści. Programowanie w ImageJ. Zadanie 1. Zadanie 2

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

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

Analiza obrazu. wykład 4. Marek Jan Kasprowicz Uniwersytet Rolniczy 2009

i ruchów użytkownika komputera za i pozycjonujący oczy cyberagenta internetowego na oczach i akcjach użytkownika Promotor: dr Adrian Horzyk

stopie szaro ci piksela ( x, y)

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

Grafika komputerowa. Zajęcia IX

Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy

Analiza obrazu. wykład 3. Marek Jan Kasprowicz Uniwersytet Rolniczy 2009

Podstawy programowanie systemów wizyjnych InSight firmy Cognex. Środowisku InSight Explorer / Spreadshee

Adam Korzeniewski p Katedra Systemów Multimedialnych

Komputerowe obrazowanie medyczne

Przetwarzanie obrazów

Formaty obrazów rastrowych biblioteki PBM

Filtracja obrazu operacje kontekstowe

Przetwarzanie i Kompresja Obrazów. Segmentacja

Przekształcenia kontekstowe. Filtry nieliniowe Typowy przykład usuwania zakłóceń z obrazu

Ćwiczenia z grafiki komputerowej 5 FILTRY. Miłosz Michalski. Institute of Physics Nicolaus Copernicus University. Październik 2015

Diagnostyka obrazowa

Diagnostyka obrazowa

OBRÓBKA FOTOGRAFII. WYKŁAD 1 Korekcja obrazu. Jacek Wiślicki Katedra Informatyki Stosowanej

SEGMENTACJA OBRAZU Wprowadzenie

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

Filtracja splotowa obrazu

KONWERSJA OBRAZÓW CYFROWYCH DO POSTACI ZBIORÓW UCZĄCYCH DLA POTRZEB MODELOWANIA NEURONOWEGO

Projektowanie naziemnego pomiaru fotogrametrycznego. Dokładność - specyfikacja techniczna projektu

Ćwiczenia z grafiki komputerowej 4 PRACA NA WARSTWACH. Miłosz Michalski. Institute of Physics Nicolaus Copernicus University.

Zamiana reprezentacji wektorowej na rastrową - rasteryzacja

Matematyk w cyfrowej ciemni fotograficznej

GIMP GNU Image Manipulation Program. Narzędzia Informatyki

Ćwiczenie 2. Przetwarzanie graficzne plików. Wprowadzenie teoretyczne

Obraz i komputer. Trzy dziedziny informatyki. Podział przede wszystkim ze względu na dane wejściowe i wyjściowe

SZTUCZNA INTELIGENCJA

Sztuczna inteligencja : Zbiory rozmyte cz. 2

Photoshop. Interfejs graficzny programu

Techniki wizualizacji. Ćwiczenie 2. Obraz cyfrowy w komputerze

Analiza obrazów. Segmentacja i indeksacja obiektów

Zbigniew Sołtys - Komputerowa Analiza Obrazu Mikroskopowego 2016 część 7

Plan wykładu. Wprowadzenie Program graficzny GIMP Edycja i retusz zdjęć Podsumowanie. informatyka +

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

Pomiar światła w aparatach cyfrowych w odniesieniu do histogramu.

Adam Korzeniewski p Katedra Systemów Multimedialnych

Operatory mapowania tonów

CECHY BIOMETRYCZNE: ODCISK PALCA

Szacowanie wartości monet na obrazach.

Przetwarzanie obrazu

Inżynieria Wiedzy i Systemy Ekspertowe. Logika rozmyta. dr inż. Michał Bereta Politechnika Krakowska

Transkrypt:

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 informacji. Niniejszy dokument przedstawia pokrótce popularne operacje przetwarzania obrazów monochromatycznych. Oprócz formuł matematycznych prezentujących jak zaimplementować daną operację, przedstawiono również komendy programu convert, będącego częścią pakietu Image Magic, pozwalające na wykonanie zadanej obróbki obrazu. 1 Operacje punktowe Najprostszą klasą operacji na obrazie są operacje punktowe. W wyniku ich zastosowania, wartość każdego z pikseli w obrazie wynikowym wyliczana jest jedynie na podstawie jego wartości na obrazie wejściowym. Pozostałe piksele obrazu, w tym najbliższe sąsiedztwo przetwarzanego piksela nie mają wpływu na jego wartość w obrazie wynikowym. 1.1 Negatyw Operacja negatywu tworzy obraz wyjściowy w którym każdy z pikseli ma wartość: G(x, y) = MAX L(x, y), gdzie G(x, y) to wartość piksela w obrazie wynikowym, L(x, y) to wartość piksela w obrazie wejściowym, zaś MAX to maksymalna szarość pikseli w obrazie. Wynik operacji zobaczyć można na rysunku 1. Komenda: convert -negate kubus.png kubus_negatyw.png negatyw. Rysunek 1: Operacja negatyw. 1

1.2 Progowanie Operacja progowania polega na klasyfikacji piksela do jednej z dwóch klas - zbioru punktów czarnych lub zbioru punktów białych. W określonych sytuacjach pozwala to na odróżnienie poszukiwanego obiektu od tła zdjęcia. Wartości pikseli obrazu wynikowego obliczamy według wzoru: { 0 dla L(x, y) <= P ROG G(x, y) = MAX dla L(x, y) > P ROG, gdzie P ROG jest wartością progu (wyrażoną jako wartość szarości), zaś M AX to maksymalna wartość szarości pikseli w obrazie. Wynik operacji zobaczyć można na rysunku 2. Komenda (progowanie z wartością progu równą 50% maksymalnej szarości obrazu - co dla obrazu o M AX = 255 odpowiadałoby szarości pikseli równej 122): convert -threshold 50% kubus.png kubus_progowanie.png progowania (próg 20%). (c) Wynik operacji progowania (próg 50%). (d) Wynik operacji progowania (próg 80%). Rysunek 2: Operacja progowanie z progiem dla różnych wartości progu (wyrażonych jako procent maksymalnej skali szarości obrazu). 1.3 Półprogowanie czerni (progowanie do zera, progowanie czerni) Operacja podobna do progowania. Wszystkim pikselom o wartościach poniżej zadanego progu, przypisana będzie wartość 0, zaś wartość pikseli powyżej progu pozostaje bez zmian. Wartości pikseli obrazu wynikowego obliczamy według wzoru: { 0 dla L(x, y) <= P ROG G(x, y) = L(x, y) dla L(x, y) > P ROG, gdzie P ROG jest wartością progu. Wynik operacji zobaczyć można na rysunku 3. Komenda (półprogowanie czerni z wartością progu równą 50% maksymalnej szarości obrazu - co dla obrazu o M AX = 255 odpowiadałoby szarości pikseli równej 122): convert -black-threshold 50% kubus.png kubus_polprogowanie.png 2

(próg 20%). (c) Wynik operacji (próg 50%). (d) Wynik operacji (próg 80%). Rysunek 3: Operacja czerni z progiem dla różnych wartości progu (wyrażonych jako procent maksymalnej skali szarości obrazu). 1.4 Półprogowanie bieli (progowanie bieli) Operacja analogiczna do czerni. Wszystkim pikselom o wartościach powyżej zadanego progu, przypisana będzie maksymalna wartość szarości w obrazie, zaś wartość pikseli poniżej progu pozostaje bez zmian. Wartości pikseli obrazu wynikowego obliczamy według wzoru: { L(x, y) dla L(x, y) <= P ROG G(x, y) = MAX dla L(x, y) > P ROG, gdzie P ROG jest wartością progu. Wynik operacji zobaczyć można na rysunku 4. Komenda (półprogowanie bieli z wartością progu równą 50% maksymalnej szarości obrazu - co dla obrazu o M AX = 255 odpowiadałoby szarości pikseli równej 122): convert -white-threshold 50% kubus.png kubus_polprogowanie2.png (próg 20%). (c) Wynik operacji (próg 50%). (d) Wynik operacji (próg 80%). Rysunek 4: Operacja bieli z progiem dla różnych wartości progu (wyrażonych jako procent maksymalnej skali szarości obrazu). 1.5 Korekcja gamma Korekcja gamma jest operacją przeskalowującą wartości jasności pikseli obrazu. Wartości pikseli obrazu wynikowego obliczamy według wzoru: 3

G(x, y) = co można przedstawić również w postaci: ( ) 1 L(x, y) γ MAX, MAX G(x, y) = L(x, y) 1 γ MAX 1 γ γ gdzie γ jest wartością parametru gamma, zaś MAX maksymalną szarością pikseli obrazu. Wynik operacji zobaczyć można na rysunku 5. Dla wartości γ poniżej 1 nastąpi przyciemnienie obrazu, zaś dla wartości powyżej 1 jego rozjaśnienie. Komenda (korekcja gamma ze współczynnikiem o wartości 0,5): convert -gamma 0.5 kubus.png kubus_gamma.png, (b) Wynik korekcji gamma (γ = 0.5). (c) Wynik korekcji gamma (γ = 1.5). (d) Wynik korekcji gamma (γ = 2.5). Rysunek 5: Operacja korekcji gamma dla różnych wartości współczynnika γ. 1.6 Zmiana poziomów Operacja zmiany poziomów pozwala na podanie nowych wartości oznaczających biel i czerń. Przyjmuje ona dwa parametry - wszystkim pikselom o wartości jasności mniejszej lub równiej pierwszemu z nich (CZERN), przypisana zostanie wartość 0, dla pikseli o jasnościach większych lub równych drugiemu z parametrów (BIEL) przypisana zostanie maksymalna wartość szarości w obrazie. Jasność pikseli o wartościach pomiędzy CZERN i BIEL zostają rozciągnięte na całą skalę szarości obrazu. Wartości pikseli obrazu wynikowego obliczamy według wzoru: 0 dla L(x, y) <= CZERN MAX G(x, y) = (L(x, y) CZERN) BIEL CZERN dla CZERN < L(x, y) < BIEL MAX dla L(x, y) >= BIEL, gdzie BIEL jest nowym poziomem bieli, CZERN nowym poziomem czerni, zaś M AX maksymalną szarością pikseli obrazu. Wynik operacji zobaczyć można na rysunku 6. Komenda (zmiana poziomu czerni na 20%, zaś poziomu bieli na 80%): convert -level 20%,80% kubus.png kubus_level.png 4

zmiany poziomów (CZERN = 20%, BIEL = 80%). (c) Wynik operacji zmiany poziomów (CZERN = 40%, BIEL = 60%). Rysunek 6: Operacja zmiany poziomów dla różnych wartości poziomów CZERN i BIEL. 2 Operacje lokalne Kolejną klasą operacji na obrazie są operacje lokalne. W wyniku ich zastosowania, wartość każdego z pikseli w obrazie wynikowym zależna jest nie tylko od jego wartości na obrazie wejściowym, lecz także od wartości pikseli w jego sąsiedztwie. Wielkość sąsiedztwa, które wpływa na jasność piksela w obrazie wynikowym jest bardzo często parametrem operacji. 2.1 Konturowanie Konturowanie polega na wyostrzaniu obrysów obiektów metodą gradientową. Oznacza to, że po skonturowaniu piksele, które różnią się od otoczenia zostaną rozjaśnione, a piksele, które są podobne do otoczenia, przyciemnione. Wartości pikseli obrazu wynikowego obliczamy według wzoru: G(x, y) = L(x + 1, y) L(x, y) + L(x, y + 1) L(x, y), gdzie z to wartość bezwzględna liczby z. Wynik operacji zobaczyć można na rysunku 7. Komenda (program convert nie posiada wbudowanej operacji konturowania, zgodnej z przedstawioną powyżej definicją, efekt podobny do konturowania uzyskać można za pomocą operacji splotu z odpowiednią maską): convert -convolve 0,0,0,0,-2,1,0,1,0 kubus.png kubus_cont.png 2.2 Rozmywanie poziome Rozmywanie poziome polega na zmniejszaniu ostrości obrazu w kierunku poziomym. W celu wyliczenie wartości jasności każdego z pikseli, uśrednia się wartość jego jasność oraz jasności pikseli sąsiadujących z lewej i prawej strony. W takim przypadku mówimy o rozmywaniu o promieniu 1. Możliwe jest również rozmywanie o większym promieniu (np. dla promienia 2, uśredniamy dany piksel i po dwa piksele z lewej i prawej strony, znajdujące się w tym samym wierszu). Wartości pikseli obrazu wynikowego (dla rozmywania o promieniu 1) obliczamy według wzoru: 5

(b) Wynik konturowania (według podanego wzoru). (c) Wynik konturowania (za pomocą polecenia convert). Rysunek 7: Operacja konturowania. G(x, y) = 1 (L(x 1, y) + L(x, y) + L(x + 1, y)). 3 Wynik operacji zobaczyć można na rysunku 8. Komenda (efekt rozmywania poziomego, zgodny z opisywanym wzorem uzyskać można za pomocą operacji splotu z odpowiednią maską): convert -convolve 0,0,0,0.33,0.33,0.33,0,0,0 kubus.png kubus_blur_hor.png (b) Wynik rozmywania poziomego (o promieniu 1). (c) Wynik rozmywania poziomego (o promieniu 2). Rysunek 8: Operacja rozmywania poziomego. 2.3 Rozmywanie pionowe Rozmywanie pionowe polega na zmniejszaniu ostrości obrazu w kierunku pionowym. W celu wyliczenie wartości jasności każdego z pikseli, uśrednia się wartość jego jasność oraz jasności pikseli sąsiadujących z góry i dołu. W takim przypadku mówimy o rozmywaniu o promieniu 1. Możliwe jest również rozmywanie o większym promieniu (np. dla promienia 2 uśredniamy dany piksel i po dwa piksele z góry i z dołu, znajdujące się w tej samej kolumnie). Wartości pikseli obrazu wynikowego (dla rozmywania o promieniu 1) obliczamy według wzoru: 6

G(x, y) = 1 (L(x, y 1) + L(x, y) + L(x, y + 1)). 3 Wynik operacji zobaczyć można na rysunku 9. Komenda (efekt rozmywania pionowego, zgodny z opisywanym wzorem uzyskać można za pomocą operacji splotu z odpowiednią maską): convert -convolve 0,0.33,0,0,0.33,0,0,0.33,0 kubus.png kubus_blur_ver.png (b) Wynik rozmywania pionowego (o promieniu 1). (c) Wynik rozmywania pionowego (o promieniu 2). Rysunek 9: Operacja rozmywania pionowego. 3 Operacje globalne Ostatnią opisywaną w niniejszym dokumencie klasą operacji na obrazie są operacje globalne. W wyniku ich zastosowania, wartość każdego z pikseli w obrazie wynikowym zależna jest od wartości wszystkich innych pikseli obrazu. 3.1 Rozciąganie histogramu Operację rozciągania histogramu wykonuje się wówczas gdy jasności pikseli obrazu nie pokrywają całego zakresu szarości obrazu (np. gdy w obrazie o maksymalnej szarości 255, wartości pikseli znajdują się jedynie w zakresie jasności od 20 do 220). Rozciągnięcie prowadzi do takiej konwersji zakresu wartości, aby jasności pikseli obejmowały cały zakres jasności dostępny w obrazie. Pierwszym etapem operacji rozciągania jest znalezienie prawdziwej wartości minimum jasności w obrazie L MIN i prawdziwej wartości maksimum jasności w obrazie L MAX. Po wyliczeniu tych wartości, wartości pikseli obrazu wynikowego obliczamy według wzoru: G(x, y) = (L(x, y) L MIN ) MAX L MAX L MIN, gdzie L MIN to najmniejsza jasność występująca w obrazie wejściowym, L MAX największa jasność występująca w obrazie wejściowym, zaś M AX to maksymalna skala szarości obrazu. Wynik operacji zobaczyć można na rysunku 10. Komenda: convert -normalize kubus.png kubus_str.png 7

(b) Wynik rozciągania histogramu. Rysunek 10: Operacja rozciągania histogramu. 8