Przetwarzanie obrazów zima 2015

Slides:



Advertisements
Podobne prezentacje
Rozdzielczość (II).
Advertisements

Modele oświetlenia Punktowe źródła światła Inne
Metody numeryczne część 1. Rozwiązywanie układów równań liniowych.
Elementy przetwarzania obrazów
Przetwarzanie i rozpoznawanie obrazów
Zmienne losowe i ich rozkłady
Przetwarzanie i rozpoznawanie obrazów
Filtracja obrazów cd. Filtracja obrazów w dziedzinie częstotliwości
Filtracja obrazów.
Rozdzielczość obrazu bitowego
Metoda węzłowa w SPICE.
Problemy nieliniowe Rozwiązywanie równań nieliniowych o postaci:
Grafika komputerowa Wykład 7 Krzywe na płaszczyźnie
Grafika komputerowa Wykład 14 Podstawowe techniki przetwarzania obrazu
dotyczące plików graficznych
Graficzna prezentacja danych Wykład 2 dr Małgorzata Radziukiewicz
Rozpoznawanie Twarzy i Systemy Biometryczne, 2005/2006
Rozpoznawanie Twarzy i Systemy Biometryczne, 2005/2006
Rozpoznawanie obrazów
Przetwarzanie obrazów
Usuwanie zakłóceń Rysowanie w przestrzeni dyskretnej powoduje powstanie w obrazie zakłóceń (Aliasing) Metody odkłócania (Antyaliasing) zwiększenie rozdzielczości.
Paweł Kramarski Seminarium Dyplomowe Magisterskie 2
Camera fighter Michał Grędziak
System analizy zachowania zwierząt doświadczalnych w badaniach neurologicznych promotor: prof. dr hab. inż. A. Nowakowski konsultant: dr M. Kaczmarek,
Politechnika Gdańska Katedra Systemów Multimedialnych Tomasz Merta
Geometria obrazu Wykład 1
Zapis informacji Dr Anna Kwiatkowska.
Metody numeryczne Wykład no 2.
Średnie i miary zmienności
Kod Graya.
Witamy Was serdecznie na zajęciach Wszechnicy Porannej
Komputerowe metody przetwarzania obrazów cyfrowych
Algorytmy i struktury danych
Detekcja twarzy w obrazach cyfrowych
Grafika komputerowa Wykład 6 Podstawowe algorytmy grafiki 2D
Zaawansowane techniki renderingu
Typy wykresów Bartosz Celiński.
EXCEL Wykład 4.
Na początek kilka pojęć z arkusza
Tworzenie prezentacji
Formaty zdjęć.
MECHANIKA 2 Wykład Nr 10 MOMENT BEZWŁADNOŚCI.
Algorytm Z-Bufora (bufora głębokości)
TECH – INFO technika, fizyka, informatyka
Algorytmy i Struktury Danych
Metody odszumiania sygnałów
Analiza obrazu komputerowego wykład 1
Podstawowe tezy i wyniki rozprawy doktorskiej pt.
EXCEL Wstęp do lab. 4. Szukaj wyniku Prosta procedura iteracyjnego znajdowania niewiadomej spełniającej warunek będący jej funkcją Metoda: –Wstążka Dane:
Wybrane aspekty programowania w C++ (i nie tylko)
Zasady arytmetyki dwójkowej
Schemat układu ukrywającego znaki wodne
Dyskretna Transformacja Fouriera 2D (DFT2)
Przetwarzanie obrazów
Przetwarzanie obrazów
Przetwarzanie obrazów
Statystyczna analiza danych w praktyce
Statystyczna analiza danych
Statystyczna analiza danych
Edytor tekstu Word – możliwości graficzne
1 Proces analizy i rozpoznawania. 2 Jak przygotować dwie klasy obiektów?
Fundamentals of Data Analysis Lecture 12 Approximation, interpolation and extrapolation.
Parametry rozkładów Metodologia badań w naukach behawioralnych II.
Treść dzisiejszego wykładu l Postać standardowa zadania PL. l Zmienne dodatkowe w zadaniu PL. l Metoda simpleks –wymagania metody simpleks, –tablica simpleksowa.
Grafika komputerowa Dr inż. Michał Kruk. Reakcja ś wiat ł a z materi ą : – Odbicie ś wiat ł a – Przenikanie ś wiat ł a Zale ż ne od w ł a ś ciwo ś ci.
Fotografia cyfrowa wykład podejście programisty Wybrane algorytmy przetwarzania obrazów fotograficznych.
Filtracja obrazów cd. Filtracja obrazów w dziedzinie częstotliwości
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Regresja wieloraka – bada wpływ wielu zmiennych objaśniających (niezależnych) na jedną zmienną objaśnianą (zależą)
Algorytmy i struktury danych
Zapis prezentacji:

Przetwarzanie obrazów zima 2015 Wykład 3 Poprawa jakości obrazów Agenda: Operacje na obrazach Operacje na histogramie Prosta filtracja dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki http://wbieniec.kis.p.lodz.pl/pwsz

Poprawa jakości obrazu Poprawa jakości – przetwarzanie wstępne - Pierwszy etap automatycznej analizy obrazu - W celu ułatwienia oglądania i analizy ręcznej obrazu (łatwiej oglądać i analizować obraz) Poprawa jakości operacje punktowe (jasność i kontrast) operacje obszarowe filtracja resampling i korekcja geometrii

Operacje na obrazie Operacje punktowe f I I’

Operacje na obrazie Operacje lokalnego sąsiedztwa f I I’ 4

Operacje na obrazie Operacje globalne f I’ I 5

Operacje na obrazie Operacje na obiektach f I A 6

Jasnośći i kontrast Zadaniem operacji punktowych jest dopasowanie jasności i kontrastu obrazu. Zadaniem operacji punktowych jest dopasowanie jasności i kontrastu obrazu. Kontrastem obrazu nazywamy odchylenie względne funkcji obrazu

Operacje punktowe - histogram Histogrm oblicza częstość wystąpienia każdej wartości funkcji obrazu char [][]image = new char[M][N]; int []h = new int[256]; for(int i=0;i<256; h[i++] = 0); for(int i=0;i<N;i++) for(j=0;j<M;j++) h[image[i][j]]++;

Operacje punktowe - histogram Zastosowanie – kontrola ustawień matrycy światłoczułej Zbyt ciemna Zbyt jasno Za mały kontrast właściwa 9

Analiza hisogramu Prawie połowa obszaru jest ciemna (zieleń) Dużo wartości z lewej strony Prawie połowa obszaru jes jasna (niebo) Dużo wartości z prawej strony Wniosek: Złe warunki ekspozycji

Analiza histrogramu Obraz zawiera jednolite obszary: ciemny: zieleń jasny: niebo Bardzo jasny: chmura. Warunki oświetleniowe są prawidłowe

Analiza histogramu Histogram przypomina rozkłąd normalny. Brak większych jednolitych obszarów, dobre warunki oświetlenia

Analiza histogramu Histogram ma 5 maksimów „pików”. Obraz jest zbyt ciemny

Lookup table LUT jest strukturą danych (najczęściej tablicą haszowaną) używaną do szybkiego przetwarzania punktowego obrazów (tablicowa reprezentacja funkcji transformującej). Zastosowanie przyspiesza znacząco obliczenia w porównaniu do zastosowania funkcji w postaci analitycznej. LUT może być realizowana sprzętowo char LUT[]=new char[256]; for(int j=0;j<256; j++) LUT[j]=fun(j);

Manipulacja histogramem Obraz wejściowy liniowa nieliniowa wyrównanie

Rozciąganie histogramu

Obcięcie histogramu lmin lmax

Wyrównanie histogramu Wyrównanie histogramu jest monotoniczną operacją nieliniową, która zmienia jasności punktów obrazu tak, aby histogram prezentował rozkład równomierny (histogram będzie płaski). Technika ta jest użyteczna w procesie porównywania obrazów, ponieważ jest bardzo efektywna przy szczegółowej poprawie jakości oraz korekcji nieliniowych efektów systemu akwizycji obrazu lub wyświetlacza.

Histogram skumulowany

Algorytm wyrównywania histogramu

Wyrównanie histogramu Pomimo tego, że wyrównanie histogramu działa perfekcyjnie dla obrazu analogowego, w przypadku obrazu cyfrowego (funkcja jest dyskretna) nie jest możliwe uzyskanie zupełnie płaskiego histogramu

Korekcja Gamma  jest liczbą rzeczywistą =0.5 (kreskowana),  = 2 (linia) and  =6 (kropkowana).

Operacje lokalnego sąsiedztwa SPLOT: Zamień wartość centralnego piksela poprzez sumę ważoną wartości pikseli sąsiednich wewnątrz maski nn.

SPLOT - wygładzanie Jeżeli wszystkie współczynniki filtru są nieujemne, filtr będzie filtrem wygładzającym Rozmiar maski filtru wpływa na poziom wygładzenia Mały filtra Gaussa (sigma = 1, maska 5x5) * Duży filtr Gaussa (sigma = 4, maska 17x17) Suma współczynników maski musi by równa 1oefficients is 1

The derivatives – continuous domain

Splot - gradient Moduł z gradientu jest inwariantny względem obrotu grad x: fx Moduł z gradientu jest inwariantny względem obrotu grad y: fy

Splot - laplacian Laplacian Jest inwariantny względem obrotu fxx fyy 27 fyy

Wyostrzenie obrazu

Wyostrzenie obrazu 29 sharpen(f ) = f – laplace(f )

Wykrywanie krawędzi - szkic metody B=Gauss(A ) AND PROGOWANIE D= (B == 0)

Operacje nieliniowe – filtry rangowe Filtry rangowe: sortują wartości odcieni szarości w sąsiedztwie określonym maską nn i zamieniają jasność centralnego piksela poprzez: Medianę – wartość środkową Wartość minimalną Wartość maksymalną

Filtr medianowy Gauss filter (5x5) Obraz wejściowy Filtr medianowy 3x3 Filtr medianowy ma zastosowanie tylko dla szumu impulsowego. Zastępuje uszkodzone piksele najbardziej prawdopodobną wartością. Nie uszkadza dobrych pikseli Gauss filter (13 x 13)

Filtry max i min Filtry max/min zamieniają centralny piksel poprzez maksymalną lub minimalną wartość z sąsiednich pikseli

Jak wyznaczyć tło?

Korekcja nierównomiernego oświetlenia

Arytmetyka obrazów Dodawanie punktowe: image1 + image2 (lub stała) Odejmowanie punktowe: image1 – image2 (lub stała) Mnożenie punktowe: image1 * image2 (lub stała) Dzielenie punktowe: image1 / image2 (lub stała) Przenikwanie – punktowa kombinacja liniowa dwóch obrazów Logiczne AND/NAND - punktowe AND/NAND dwóch obrazów binarnych Logiczne OR/NOR - punktowe OR/NOR dwóch obrazów binarnych Logiczne XOR/XNOR - pounktowe XOR/XNOR dwóch obrazów binarnych Inwersja logiczne NOT Operacja Bitshift – punktowe mnożenie/dzielenie przez 2 wartości jasności

Dodawanie punktowe + = Wykrywanie krawędzi Co poszło nie tak?

Dodawanie punktowe I I2 = Canny(I) I3 = Binary(I2) I6 = I2 + I5 I4 = NOT(I3) I5 = I4 AND I

Odejmowanie obrazów Jak wydobyć kombinerki z obrazu? background(x,y) I(x,y) object(x,y) Object(x,y) = I(x,y) – background(x,y) Co może być problemem? Jak go rozwiązać?

Mistake = query image – test image Odejmowanie obrazów Obraz - pytanie Obraz wzorcowy Mistake = query image – test image

Dzielenie obrazów I1 = I - red(I ) I2 = I - green(I ) I3 = I1 / I 2

Przenikanie obrazów

Operacje binarne AND OR XOR NAND NOR NXOR Dla obrazów binarnych lub na poziomie bitów I1 I2 I 1 I1 I2 I 1 I1 I2 I 1 AND OR XOR I1 I2 I 1 I1 I2 I 1 I1 I2 I 1 NAND NOR NXOR

Blue box (czasami jest zielony) Filtracja alfa A – pierwszy plan B – tło C – wynik Blue box (czasami jest zielony) M – cień

Operacje geometryczne - odbicie pionowe poziome

Operacje geometryczne - obrót

Implementacja na tablicy 1D Co roi ten program?

Zmiana rozmiaru x3 x3

Transformacja prosta i odwrotna Co może pójść nie tak?

Transformacja prosta i odwrotna

Operacje wymagające resamplingu Zmiana rozmiaru 512 x 256 House (256 x 256) Zmiana rozmiaru z zachowaniem proporcji

Operacje wymagające resamplingu House (256 x 256) 30 rotacja

Operacje wymagające resamplingu Ścinanie poziome Ścinanie pionowe House Korekcja perspektywy

Określenie koloru – najbliższy sąsiad Jak to zaimplementujesz? Interpolacja zerowego rzędu

Obliczenie koloru – najbliższy sąsiad Magnified part of original Magnified part of resized Zero order inteerpolation

Obliczenie koloru - interpolacja Interpolacja pierwszego rzędu - dwuliniowa

Implementacja interpolacji dwuliniowej

Interpolacja dwuliniowa - wyniki Original Nearest neighbor bilinear

Interpolacja funkcjami sklejanymi (splot)

Interpolacja dwusześcienna – splot gdzie a jest zwykle z przedziału -0.5 do -0.75

Interpolacja dwusześcienna Spline cubic formula for 6x6 pixel kernel sinc function windowed to 8 pixels (Lanczos)

Spline interpolation results Original bilinear sinc splines Which method is best?

KONIEC WYKŁADU