Przetwarzanie obrazów zima 2015

1 Przetwarzanie obrazów zima 2015Wykład 3 Poprawa jakości...
Author: Rafał Murawski
0 downloads 2 Views

1 Przetwarzanie obrazów zima 2015Wykł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

2 Poprawa jakości obrazuPoprawa 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

3 Operacje na obrazie Operacje punktowe f I I’

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

5 Operacje na obrazie Operacje globalne f I’ I 5

6 Operacje na obrazie Operacje na obiektach f I A 6

7 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

8 Operacje punktowe - histogramHistogrm 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 for(j=0;j h[image[i][j]]++;

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

10 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

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

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

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

14 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);

15 Manipulacja histogramemObraz wejściowy liniowa nieliniowa wyrównanie

16 Rozciąganie histogramu

17 Obcięcie histogramu lmin lmax

18 Wyrównanie histogramuWyró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.

19 Histogram skumulowany

20 Algorytm wyrównywania histogramu

21 Wyrównanie histogramuPomimo 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

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

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

24 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

25 The derivatives – continuous domain

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

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

28 Wyostrzenie obrazu

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

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

31 Operacje nieliniowe – filtry rangoweFiltry 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ą

32 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)

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

34 Jak wyznaczyć tło?

35 Korekcja nierównomiernego oświetlenia

36 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

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

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

39 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ć?

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

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

42 Przenikanie obrazów

43 Operacje binarne AND OR XOR NAND NOR NXORDla 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

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

45 Operacje geometryczne - odbiciepionowe poziome

46 Operacje geometryczne - obrót

47 Implementacja na tablicy 1DCo roi ten program?

48 Zmiana rozmiaru x3 x3

49 Transformacja prosta i odwrotnaCo może pójść nie tak?

50 Transformacja prosta i odwrotna

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

52 Operacje wymagające resamplinguHouse (256 x 256) 30 rotacja

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

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

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

56 Obliczenie koloru - interpolacjaInterpolacja pierwszego rzędu - dwuliniowa

57 Implementacja interpolacji dwuliniowej

58 Interpolacja dwuliniowa - wynikiOriginal Nearest neighbor bilinear

59 Interpolacja funkcjami sklejanymi (splot)

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

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

62 Spline interpolation resultsOriginal bilinear sinc splines Which method is best?

63 KONIEC WYKŁADU