Raport. Bartosz Paprzycki xed@mat.umk.pl UMK 2009/2010



Podobne dokumenty
Implementacja filtru Canny ego

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

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych

Segmentacja przez detekcje brzegów

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

Proste metody przetwarzania obrazu

Rozpoznawanie Twarzy i Systemy Biometryczne

Diagnostyka obrazowa

Filtracja obrazu operacje kontekstowe

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

Laboratorium Cyfrowego Przetwarzania Obrazów

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

Analiza obrazów - sprawozdanie nr 2

Diagnostyka obrazowa

Diagnostyka obrazowa

Filtracja w domenie przestrzeni

dr inż. Tomasz Krzeszowski

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

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

Przetwarzanie obrazów rastrowych macierzą konwolucji

Segmentacja obrazu. Segmentacja obrazu

Przetwarzanie obrazu

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

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

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

Filtracja obrazu operacje kontekstowe

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

Filtracja splotowa obrazu

ANALIZA I PRZETWARZANIE OBRAZÓW

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

Laboratorium Cyfrowego Przetwarzania Obrazów

Diagnostyka obrazowa

Przetwarzanie obrazów wykład 4

Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda

Analiza obrazów. Segmentacja i indeksacja obiektów

Diagnostyka obrazowa

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

Detekcja punktów zainteresowania

Szacowanie wartości monet na obrazach.

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

SEGMENTACJA OBRAZU Wprowadzenie

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

Diagnostyka obrazowa

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

Wtyczka Crop3D. Wstęp. Implementacja. Sprawozdanie z realizacji projektu Bartłomiej Trzewiczek Kraków,

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

Wykrywanie twarzy na zdjęciach przy pomocy kaskad

Diagnostyka obrazowa

Detekcja twarzy w obrazie

PRZETWARZANIE SYGNAŁÓW

POB Odpowiedzi na pytania

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

Przekształcenia punktowe

Komputerowe obrazowanie medyczne

Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 11. Filtracja sygnałów wizyjnych

1 Temat: Wprowadzenie do biblioteki OpenCV

EKSPLORACJA ZASOBÓW INTERNETU LABORATORIUM VIII WYSZUKIWANIE OBRAZÓW

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

FILTRACJE W DZIEDZINIE CZĘSTOTLIWOŚCI

Wykład 6. Analiza kształtu histogramu jasności: Ridler, 1978 Otsu, 1979 Lloyd, 1985 Kittler, 1986 Yani, 1994 Yawahar, 1997 PROGOWANIE

3. OPERACJE BEZKONTEKSTOWE

Diagnostyka obrazowa

Diagnostyka obrazowa

Przetwarzanie obrazu

Komputerowe przetwarzanie obrazu Laboratorium 5

Metody wyszukiwania włókien Omówione zostaną dwie wybrane metody wyszukiwania na obrazie rozmieszczonych losowo kształtów okrągłych.

Analiza obrazów - sprawozdanie nr 3

Instalacja. pip install opencv-python. run pip install opencv-contrib-python CZĘŚĆ II

Podstawy Przetwarzania Sygnałów

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

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

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Automatyczna klasyfikacja zespołów QRS

KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

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

Projekt 2: Filtracja w domenie przestrzeni

Odciski palców ekstrakcja cech

Przetwarzanie i Kompresja Obrazów. Segmentacja

Polecenie ŚWIATPUNKT - ŚWIATŁO PUNKTOWE

WSTĘP DO PRZETWARZANIA OBRAZÓW. Jak znaleźć ciekawe rzeczy na zdjęciu? mgr Krzysztof Szarzyński

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

Transformata Fouriera

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

Opis i wydzielanie (ekstrakcja) cech

maska 1 maska 2 maska 3 ogólnie

Reprezentacja i analiza obszarów

ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM)

Wyszukiwanie obrazów 1

CECHY BIOMETRYCZNE: ODCISK PALCA

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

Algorytmy Laplacian of Gaussian i Canny ego detekcji krawędzi w procesie analizy satelitarnych obrazów procesów atmosferycznych.

Adam Korzeniewski p Katedra Systemów Multimedialnych

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

Analiza metod wykrywania przekazów steganograficznych. Magdalena Pejas Wydział EiTI PW

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

Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy

30 godzin, 6 punktów ECTS

Laboratorium Cyfrowego Przetwarzania Obrazów

Grafika komputerowa. Dr inż. Michał Kruk

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Transkrypt:

Raport Bartosz Paprzycki xed@mat.umk.pl UMK 2009/2010

1. Wykrywanie krawędzi 1.0. Obraz oryginalny 1. 1.1. Sobel. Parametry: domyślne.

1.2. Prewitt. Parametry: domyślne. 1.3. Roberts. Parametry: domyślne.

1.4. LoG. Parametry: domyślne. 1.5. Canny. Parametry: domyślne.

1.6. Sobel. Parametry: 0.01. 1.7. Prewitt. Parametry: 0.01.

1.8. Roberts. Parametry: 0.01. 1.9. LoG. Parametry: 0.01.

1.10. Canny. Parametry: [0.01, 0.02].

1.11. Sobel. Parametry: 0.1. 1.12. Prewitt. Parametry: 0.1.

1.13. Roberts. Parametry: 0.1. 1.14. LoG. Parametry: 0.1.

1.15. Canny. Parametry: [0.1, 0.2]. Parametry w algorytmach wykrywania krawędzi odgrywają duża rolę. Wpływają na czułość wykrywania. W powyższym przykładzie, na domyślnych parametrach, najlepiej poradził sobie algorytm Canny (Ilustracja 1.5). Próg 0.1 dla algorytmu LoG (Ilustracja 1.14) okazał się w tym przypadku za wysoki w wyniku czego otrzymaliśmy brak krawędzi.

1.16. Obraz zaszumiony. Parametry: N(0, 0.1) 1.17. Sobel. Parametry: domyślne, N(0, 0.1)

1.18. Prewitt. Parametry: domyślne, N(0, 0.1) 1.19. Roberts. Parametry: domyślne, N(0, 0.1)

1.20. LoG. Parametry: domyślne, N(0, 0.1) 1.21. Canny. Parametry: domyślne, N(0, 0.1)

1.22. Obraz zaszumiony. Parametry: N(0, 1) 1.23. Sobel. Parametry: domyślne, N(0, 1)

1.24. Prewitt. Parametry: domyślne, N(0, 1) 1.25. Roberts. Parametry: domyślne, N(0, 1)

1.26. LoG. Parametry: domyślne, N(0, 1) 1.27. Canny. Parametry: domyślne, N(0, 1)

Zaszumienie przykładowego obrazu szumem N(0, 0.1) i N(0, 1) okazało się za dużym wyzwaniem dla algorytmów. W żadnym z przypadków nie możemy już rozpoznać obiektów na obrazie, oprócz zarysu czaszki w przypadku słabszego szumu i to tez nie we wszystkich przypadkach (patrz Ilustracja: 1.19. Roberts).

1.28. Obraz oryginalny 2. 1.29. Sobel. Parametry: domyślne.

1.30. Prewitt. Parametry: domyślne. 1.31. Roberts. Parametry: domyślne.

1.32. LoG. Parametry: domyślne. 1.33. Canny. Parametry: domyślne.

1.34. Sobel. Parametry: 0.01. 1.35. Prewitt. Parametry: 0.01.

1.36. Roberts. Parametry: 0.01. 1.37. LoG. Parametry: 0.01.

1.38. Canny. Parametry: [0.01, 0.02]. W przypadku danego obrazu przykładowego, mimo bardzo niskiego progu, algorytm Canny wyekstrahował owalne obiekty (Ilustracja 1.38). Tylko LoG z takimi parametrami zbliżył się do takiego wyniku (Ilustracja 1.37).

1. Scilab: a) edge(i) - metoda Sobela, próg: 0.5, gdzie I obraz wejściowy b) edge(i, 'prewitt') metoda Prewitta, próg: 0.5 c) edge(i, 'fftderiv', 0.4) metoda gradientu FFT, próg: 0.4 2. Matlab: a) edge(i, 'sobel') metoda Sobela, próg dobierany automatycznie, gdzie I obraz wejściowy b) edge(i, 'prewitt') metoda Prewitta, próg dobierany automatycznie c) edge(i, 'roberts') metoda Robertsa, próg dobierany automatycznie d) edge(i, 'log') metoda LoG, próg dobierany automatycznie e) edge(i, 'canny') metoda Canny, progi dobierane automatycznie 3. C/C++, Python, wykorzystując OpenCV: a) void Canny(const Mat& image, Mat& edges, double threshold1, double threshold2, int aperturesize=3, bool L2gradient=false) metoda Canny image obraz wejściowy edges wyjściowa mapa krawędzi threshold1, threshold2 wartości progów dla metody aperturesize rozmiar maski dla operatora sobela L2gradient określa czy powinna zostać użyta bardziej wymagająca obliczeniowo norma 4. Java, wykorzystując JAI: a) JAI.create( gradientmagnitude, im0, kern_h, kern_v); znajduje krawędzie na podstawie wartości gradientu obliczonego podanymi maskami kern_h i kern_v ortogonalne maski im0 obraz wejściowy Referencje: (dostęp: styczeń 2010 r.) 1. http://www.scilab.org/ 2. http://www.mathworks.com/access/helpdesk/help/toolbox/images/ 3. http://sourceforge.net/projects/opencvlibrary/ 4. https://jai.dev.java.net/

2. Progowanie 2.0. Obraz oryginalny 1. 2.1. Histogram obrazu oryginalnego 1.

2.2. Progowanie ręczne. Próg: 220. Obraz etykietowany. 2.3. Progowanie ręczne. Próg: 128. Obraz etykietowany.

2.4. Progowanie ręczne. Próg: 60. Obraz etykietowany. Oglądając histogram widać, że na obrazie znajdują się jasne i ciemne miejsca. Bardzo łatwo można wydobyć jasne obiekty (Ilustracja 2.2). Jasne miejsca na Ilustracji 2.4 ukazują najciemniejsze obiekty obrazu.

2.5. Obraz oryginalny 3. 2.6. Histogram obrazu oryginalnego 3.

2.7. Progowanie ręczne. Próg: 110. Obraz etykietowany. 2.8. Progowanie ręczne. Próg: 100. Obraz etykietowany.

2.9. Progowanie ręczne. Próg: 90. Obraz etykietowany. 2.10. Progowanie ręczne. Próg: 120. Obraz etykietowany.

Przykład obrazu z dwoma wyraźnymi maksimami na histogramie. Maksima są jednak bardzo blisko siebie, więc nawet mała zmiana progu zmienia widoczność obiektów na obrazie. 2.11. Obraz oryginalny 2. 2.12. Histogram obrazu oryginalnego 2.

2.13. Progowanie ręczne. Próg: 200. Obraz etykietowany. 2.14. Progowanie ręczne. Próg: 128. Obraz etykietowany.

2.15. Progowanie ręczne. Próg: 150. Obraz etykietowany.

2.16. Metoda Otsu dla obrazu oryginalnego 1. Próg: 83. Obraz etykietowany. 2.17. Metoda Otsu dla obrazu oryginalnego 2. Próg: 111. Obraz etykietowany.

2.18. Metoda Otsu dla obrazu oryginalnego 3. Próg: 169. Obraz etykietowany. Dla obrazu oryginalnego 1 metoda Otsu znalazła dobry podział między najciemniejszymi i jaśniejszymi obiektami. W przypadku obrazu oryginalnego 2, metoda ta ustawiła próg pomiędzy maksimami na histogramie. Pokrywa się to z najlepszym ręcznym wyborem progu (patrz Ilustracje 2.17 i 2.7). Metoda Otsu zastosowana dla obrazu oryginalnego 3 wybrała bardzo dobry próg pod względem ekstrakcji obiektów. Uzyskała lepsze rezultaty niż ręczne progowanie.

2.19. Obraz oryginalny 4. 2.20. Obraz oryginalny 5.

2.21. Binaryzacja metodą Otsu dla kanału czerwonego obrazu oryginalnego 4. Próg: 119. 2.22. Binaryzacja metodą Otsu dla kanału zielonego obrazu oryginalnego 4. Próg: 109.

2.23. Binaryzacja metodą Otsu dla kanału niebieskiego obrazu oryginalnego 4. Próg: 98. 2.24. Binaryzacja metodą Otsu dla kanału czerwonego obrazu oryginalnego 5. Próg: 209.

2.25. Binaryzacja metodą Otsu dla kanału zielonego obrazu oryginalnego 5. Próg: 142. 2.26. Binaryzacja metodą Otsu dla kanału niebieskiego obrazu oryginalnego 5. Próg: 191.

2.27. Binaryzacja metodą Otsu dla kanału wartości obrazu oryginalnego 4. Próg: 121. 2.28. Binaryzacja metodą Otsu dla kanału natężenia obrazu oryginalnego 4. Próg: 45.

2.29. Binaryzacja metodą Otsu dla kanału wartości obrazu oryginalnego 5. Próg: 207. 2.30. Binaryzacja metodą Otsu dla kanału natężenia obrazu oryginalnego 5. Próg: 102.

Jeśli tylko nie szukamy na obrazie określonego koloru, to metoda progowania na podstawie kanału wartości przestrzeni HSV wydaje się być bardzo przydatna do wydobycia poszczególnych obiektów na obrazie. Jeśli jednak interesuje nas określony kolor, to niezastąpioną metodą będzie progowanie na podstawie kanałów przestrzeni RGB.

2.31. Zaszumiony obraz oryginalny 4. Parametry szumu: N(0, 0.1). 2.32. Progowanie metodą Otsu kanału czerwonego zaszumionego obrazu. Próg: 121.

2.33. Progowanie metodą Otsu kanału zielonego zaszumionego obrazu. Próg: 115. 2.34. Progowanie metodą Otsu kanału niebieskiego zaszumionego obrazu. Próg: 108.

2.35. Zaszumiony obraz oryginalny 5. Parametry szumu: N(0, 0.1). 2.36. Progowanie metodą Otsu kanału czerwonego obrazu zaszumionego. Próg: 174

2.37. Progowanie metodą Otsu kanału zielonego obrazu zaszumionego. Próg: 129. 2.38. Progowanie metodą Otsu kanału niebieskiego obrazu zaszumionego. Próg: 169.

Progowanie kanałów RGB obrazów zaszumionych daje bardzo słabe rezultaty. Zobaczmy jak daje sobie radę metoda Otsu dla kanałów przestrzeni HSV. 2.39. Progowanie metodą Otsu kanału wartości obrazu zaszumionego. Próg: 172. 2.40. Progowanie metodą Otsu kanału natężenia obrazu zaszumionego. Próg: 173.

2.41. Progowanie metodą Otsu kanału wartości obrazu zaszumionego. Próg: 203. 2.42. Progowanie metodą Otsu kanału natężenia obrazu zaszumionego. Próg: 147.

Tym razem progowanie na podstawie kanałów HSV nie dało o wiele lepszego rezultatu. Należy jednak zaznaczyć, że wyniki progowania dla tej przestrzeni barw wydają się bardziej spójne i łatwiej byłoby je wykorzystać.

3. Segmentacja algorytmy obszarowe 3.0. Obraz oryginalny 4. 3.1. Wynik klasteryzacji k-means. Podział na 5 klas. Pseudokolory.

3.2. Wynik klasteryzacji k-means. Wyekstrahowana klasa 1 z obrazu oryginalnego. 3.3. Wynik klasteryzacji k-means. Wyekstrahowana klasa 2 z obrazu oryginalnego.

3.4. Wynik klasteryzacji k-means. Wyekstrahowana klasa 3 z obrazu oryginalnego. 3.5. Wynik klasteryzacji k-means. Wyekstrahowana klasa 4 z obrazu oryginalnego.

3.6. Wynik klasteryzacji k-means. Wyekstrahowana klasa 5 z obrazu oryginalnego.

3.7 Obraz oryginalny 5. 3.8. Wynik klasteryzacji k-means. Podział na 2 klasy. Pseudokolory.

3.9. Wynik klasteryzacji k-means. Wyekstrahowana klasa 1 z obrazu oryginalnego. 3.10. Wynik klasteryzacji k-means. Wyekstrahowana klasa 2 z obrazu oryginalnego.

Przy klaseteryzacji k-means należy pamiętać o zadaniu odpowiedniej liczby klas. Za duża lub za mała ilość klas nie zapewni optymalnej klasteryzacji.

3.11. Wynik segmentacji na podstawie kolorów. Podział na 5 klas. Wyekstrahowana klasa 1 z obrazu oryginalnego 4. 3.12. Wynik segmentacji na podstawie kolorów. Podział na 5 klas. Wyekstrahowana klasa 2 z obrazu oryginalnego 4.

3.13. Wynik segmentacji na podstawie kolorów. Podział na 5 klas. Wyekstrahowana klasa 3 z obrazu oryginalnego 4. 3.14. Wynik segmentacji na podstawie kolorów. Podział na 5 klas. Wyekstrahowana klasa 4 z obrazu oryginalnego 4.

3.15. Wynik segmentacji na podstawie kolorów. Podział na 5 klas. Wyekstrahowana klasa 5 z obrazu oryginalnego 4. 3.16. Wynik segmentacji na podstawie kolorów. Podział na 3 klasy. Wyekstrahowana klasa 1 z obrazu oryginalnego 5.

3.17. Wynik segmentacji na podstawie kolorów. Podział na 3 klasy. Wyekstrahowana klasa 2 z obrazu oryginalnego 5. 3.18. Wynik segmentacji na podstawie kolorów. Podział na 3 klasy. Wyekstrahowana klasa 3 z obrazu oryginalnego 5.

Segmentacja na podstawie kolorów w przestrzeni L*a*b daje bardziej spójne obszary niż klasteryzacja k-means.

3.19. Obraz oryginalny 1. 3.20. Wynik procedury regiongrow dla obrazu oryginalnego 1. Parametry: wartość 120, próg: 50

3.21. Wynik procedury regiongrow dla obrazu oryginalnego 1. Parametry: wartość 120, próg: 25 3.22. Wynik procedury regiongrow dla obrazu oryginalnego 1. Parametry: wartość 120, próg: 5

3.23. Wynik procedury regiongrow dla obrazu oryginalnego 1. Parametry: wartość 20, próg: 25 3.24. Wynik procedury regiongrow dla obrazu oryginalnego 1. Parametry: wartość 200, próg: 25

3.25. Obraz oryginalny 2. 3.26. Wynik procedury regiongrow dla obrazu oryginalnego 2. Parametry: wartość 120, próg: 25

3.27. Wynik procedury regiongrow dla obrazu oryginalnego 2. Parametry: wartość 120, próg: 50 3.28. Wynik procedury regiongrow dla obrazu oryginalnego 2. Parametry: wartość 160, próg: 50

3.29. Wynik procedury regiongrow dla obrazu oryginalnego 2. Parametry: wartość 100, próg: 25. (dokończenie na dalszych stronach)

4. Segmentacja wododziałowa watershed(im, con) przeprowadza operację segmentacji wododziałowej na obrazie wejściowym im z uwzględnieniem sąsiedztwa con. 4.0. Obraz oryginalny 1. 4.1. Mapa odległości obrazu oryginalnego 1 dla progowania z progiem: 180.

4.2. Wynik segmentacji wododziałowej dla mapy odległości z Ilustracji 4.1. 4.3. Mapa odległości obrazu oryginalnego 1 dla progowania z progiem: 120.

4.4. Wynik segmentacji wododziałowej dla mapy odległości z Ilustracji 4.3. 4.5. Obraz oryginalny 2.

4.6. Mapa odległości obrazu oryginalnego 2 dla progowania z progiem: 160. 4.7. Wynik segmentacji wododziałowej dla mapy odległości z Ilustracji 4.6.

4.8. Mapa odległości obrazu oryginalnego 2 dla progowania z progiem: 200. 4.9. Wynik segmentacji wododziałowej dla mapy odległości z Ilustracji 4.8.

Algorytm segmentacji wododziałowej ma tendencje do nadsegmentacji. Należy pamiętać, że segmentacja wododziałowa na podstawie mapy odległości rozdziela regiony, w których znajdują się obiekty. Nie mówi jednak wiele o kształcie obiektów. Prosty test: 4.10. Obraz testowy 1. 4.11. Mapa odległości dla obrazu testowego 1.

4.12. Segmentacja wododziałowa na podstawie mapy odległości z Ilustracji 4.11.

5. Segmentacja kolejne algorytmy 5.0. Obraz oryginalny 1. 5.1. Wynik działania funkcji imextendedmin z parametrem 220.

5.2. Wynik działania funkcji imextendedmin z parametrem 240. 5.3. Wynik działania funkcji imextendedmin z parametrem 200.

5.4. Obraz oryginalny 6. 5.5. Wynik działania funkcji imextendedmin z parametrem 80.

5.6. Wynik działania funkcji imextendedmin z parametrem 100. 5.7. Wynik działania funkcji imextendedmin z parametrem 200.

5.8. Obraz oryginalny 2. 5.9. Wynik działania funkcji imextendedmin z parametrem 80.

5.10. Wynik działania funkcji imextendedmin z parametrem 180. 5.11. Wynik działania funkcji imextendedmin z parametrem 160.

Funkcja imextendedmin znajduje miejscsa, które mają najniższą jasność, są połączone ośmiosąsiedztwem oraz otaczające je obszary mają wyższą wartość janości. Używa także funkcji imhmin, która usuwa wartości kwantyzacji powyżej zadanego progu.

5.12. Obraz oryginalny 1 z zaznaczonym markerem. 5.13. Wynik działania funkcji imimposemin z markerem z Ilustracji 5.12.

5.14. Obraz oryginalny 6 z zaznaczonym markerem (środek mostu). 5.15. Wynik działania funkcji imimposemin z markerem z Ilustracji 5.14. Funkcja imimposemin znajduje najniższe wartości kwantyzacji w otoczeniu punktów zaznaczonych przez marker.

Watershed tranform plugin for ImageJ opcje: rozmycie gaussa ciemne obiekty / jasne tło jasne obiekty / ciemne tło 4-sąsiedztwo / 8-sąsiedztwo wyświetlenie linii wododziałów, basenów w pseudokolorach, nałożonych wododziałów na oryginalny obraz 5.16. Obraz oryginalny 2 po segmentacji wododziałowej przy użyciu omawianej wtyczki ImageJ. Obraz przed segmentacją został poddany rozmyciu gaussa o opromieniu 5. Na obrazie widoczne nałożone linie wododziałów. Referencje: (dostęp: styczeń 2010 r.) 1. http://bigwww.epfl.ch/sage/soft/watershed/

6. Ekstrakcja cech obiektów fchcode I = [1 1; 1 2; 1 3; 2 3; 3 3; 3 2; 3 1; 2 1]; c = fchcode(i) c = x0y0: [1 1] fcc: [0 0 6 6 4 4 2 2] diff: [0 6 0 6 0 6 0 6] mm: [0 0 6 6 4 4 2 2] diffmm: [0 6 0 6 0 6 0 6] Wynikiem działania funkcji fchcode są kody Freemana dla podanej krawędzi. x0y0 miejsce startu kodu fcc kod Freemana diff pierwsza pochodna kodu mm całka najniższej wartości w kodzie diffmm pierwsza pochodna kodu mm

frdescp, ifrdescp I = [1 1; 1 2; 1 3; 2 3; 3 3; 3 2; 3 1; 2 1]; z = frdescp(i); z = 0 0 0-6.8284-6.8284i 16.0000 +16.0000i 0 0-1.1716 1.1716i i = ifrdescp(z, 8) i = 1 1 1 2 1 3 2 3 3 3 3 2 3 1 2 1 Wynikiem działania funkcji frdescp są deskryptory Fouriera. Współczynniki transformaty opisującej wejściową krawędź. Funkcja ifrdescp liczy transformatę odwrotną, jej wynikiem jest początkowa krawędź.

signature I = [1 1; 1 2; 1 3; 2 3; 3 3; 3 2; 3 1; 2 1]; [st, angle, x0, y0] = signature(i) st = 1.0000 1.4142 1.0000 1.4142 1.0000 1.4142 1.0000 1.4142 angle = 0 45 90 135 180 225 270 315 x0 = 2 y0 = 2

Wynikiem działania funkcji signature jest sygnatura podanej krawędzi. x0, y0 współrzędne geometryczego środka ciężkości krawędzi angle kąty, dla których liczone były wartości sygnatury st odległość krawędzi od środka ciężkości sygnatura krawędzi

7. Analiza tekstur histroi histogram wybranego fragmentu obrazu 7.0. Obraz oryginalny 7. 7.1. Histogram wycinka obrazu oryginalnego 7. Wynek z obszaru ograniczonego kwadratem: [200 200, 250 250]. Wartości znormalizowane.

invmoments momenty obrazu 7.2. Tekstura 1. Wynik funkcji invmoments dla Tekstury 1: phi = 0.186541015827874 0.000232699420664 0.000000007553575 0.000000005756955 0.000000000000000 0.000000000087819 0.000000000000000 7.3. Tekstura 2. Wynik funkcji invmoments dla Tekstury 2: phi = 0.226361062638203 0.000283978521803 0.000000584378588 0.000000582090879 0.000000000000291-0.000000009478615 0.000000000000176 7.4. Tekstura 3. Wynik funkcji invmoments dla Tekstury 3: phi = 0.193653214851725 0.000325966952292 0.000000054845947 0.000000438686725-0.000000000000024 0.000000001557094-0.000000000000064

7.5. Tekstura 4. Wynik funkcji invmoments dla Tekstury 4: phi = 0.210105681258317 0.000459046775734 0.000002632501502 0.000000026708817 0.000000000000006-0.000000000414345 0.000000000000003 statmoments(p, n) oblicza do 'n' momentów na podstawie histogramu 'p' 7.6. Histogram obrazu oryginalnego 7.

Pierwsze 7 momentów dla histogramu z Ilustracji 7.6.: 0.448496863072714 0.043964843168608 0.000665282067234 0.004730118663075 0.000362291390223 0.000719384544618 0.000116111148808 7.7. Histogram obrazu oryginalnego 1. Pierwsze 7 momentów dla histogramu z Ilustracji 7.7.: 0.328631499365916 0.088761415550911 0.010359814236752 0.015030255798165 0.004919194069377 0.003783804261166 0.001861799267407

7.8. Histogram obrazu oryginalnego 3. Pierwsze 7 momentów dla histogramu z Ilustracji 7.8.: 0.437972005772006 0.005210127290274-0.000156362791973 0.000129328232977-0.000003422910504 0.000009155232142 0.000000922632292 statystyczne pomiary dla tekstury; oblicza 6 momentów; parametr 'scale' określa skalowanie wyników, domyślnie jest to '1' statxture (f, scale) Wynik: T(1) - średni poziom szarości T(2) - średni kontrast T(3) - gładkość T(4) - trzeci moment T(5) - jednorodność T(6) entropia

Wynik działania funkcji statxture dla tekstury 1 z Ilustracji 7.2.: 1.0e+002 * 2.268348238482385 0.789303487424910 0.000874324602730-0.190385509469781 0.004653937250755 0.017688085108654 Wynik działania funkcji statxture dla tekstury 2 z Ilustracji 7.3.: 1.0e+002 * 1.875905149051490 1.096094387811769 0.001559494976127-0.221053801206936 0.002009303691953 0.034759008185059 Wynik działania funkcji statxture dla tekstury 3 z Ilustracji 7.4.: 1.0e+002 * 2.171911924119241 0.869120831267385 0.001040761150659-0.208105267576411 0.002315425856156 0.032837179961408 Wynik działania funkcji statxture dla tekstury 4 z Ilustracji 7.5.: 1.0e+002 * 1.997181571815718 1.015902950300889 0.001369766739126-0.229070857120369 0.002009181777455 0.035617721056876 Tekstury pod względem statystycznym okazały się bardzo podobne.

specxture(f) tworzy teksturę spektralna dla obrazu wejściowego 'f' Funkcja zwraca także rozkład energii widma jako funkcji kąta, spróbujemy wykorzystać te wartości do rozpoznania tekstury. 7.9. Rozkład energii widma w funkcji kąta dla tekstury 1 z Ilustracji 7.2. 7.10. Rozkład energii widma w funkcji kąta dla tekstury 2 z Ilustracji 7.3.

7.11. Rozkład energii widma w funkcji kąta dla tekstury 3 z Ilustracji 7.4. 7.12. Rozkład energii widma w funkcji kąta dla tekstury 4 z Ilustracji 7.5.

Okazało się, że ten parametr jest odpowiedni do rozróżnienia przygotowanych tekstur. bweuler(im) oblicza liczbę eulera dla binarnego obrazu wejściowego 'im' 7.13. Obraz testowy 3. Liczba eulera: 0. 7.14. Obraz testowy 4. Liczba eulera: 1. entropy(im) oblicza entropię dla obrazu wejściowego 'im'. 7.15. Obraz oryginalny 1. Entropia obrazu: 6.838325697940782 7.16. Tekstura 1. Entropia obrazu: 1.768808510865380

entropyfilt(im) oblicza entropie dla każdego piksela obrazu wejściowego 'im' w sąsiedztwie 9x9 7.17. Wynik działania funkcji entropyfilt dla obrazu oryginalnego 1. 7.18. Wynik działania funkcji entropyfilt dla obrazu oryginalnego 2.

7.19. Wynik działania funkcji entropyfilt dla obrazu oryginalnego 3. 7.20. Wynik działania funkcji entropyfilt dla obrazu oryginalnego 6.

graycomatrix(im) tworzy macierz współwystąpień dla obrazu wejściowego 'im' Macierz współwystąpień dla obrazu oryginalnego 1: 61485 475 55 27 6 0 0 0 531 4462 1123 137 81 69 50 6 24 1229 11530 2389 129 48 86 60 6 153 2428 18853 2993 133 61 90 2 65 148 3040 17640 2555 77 97 0 41 88 95 2576 12012 990 145 0 32 93 95 80 961 3564 417 0 2 30 81 119 169 414 6051 graycoprops(im) oblicza statystyki dla macierzy współwystąpień obrazu wejściowego 'im' Statystyki dla macierzy współwystąpień dla obrazu oryginalnego 1: Contrast: 2.3188e+004 Correlation: -0.1029 Energy: 1.1330e-005 Homogeneity: 0.0268

3. Segmentacja algorytmy obszarowe, dokończenie 3.30. Obraz oryginalny 2 przycięty do rozmiarów 250x250 pikseli. 3.31. Wynik działania funkcji qtdecomp z parametrem 0.27.

3.32. Wynik działania funkcji qtdecomp z parametrem 0.65. 3.33. Obraz oryginalny 1 przycięty do rozmiarów 250x250 pikseli.

3.34. Wynik działania funkcji qtdecomp z parametrem 0.3. 3.35. Wynik działania funkcji qtdecomp z parametrem 0.65.

3.36. Wynik działania funkcji splitmerge z parametrem 2. 3.37. Wynik działania funkcji splitmerge z parametrem 5.

3.38. Wynik działania funkcji splitmerge z parametrem 2. 3.39. Wynik działania funkcji splitmerge z parametrem 5.

6. Ekstrakcja cech obiektów dokończenie 6.0. Obraz testowy 4. 6.1. Wynik działania funkcji minperpoly z parametrem: 2. 6.2. Wynik działania funkcji minperpoly z parametrem: 3.

6.3. Wynik działania funkcji minperpoly z parametrem: 5. 6.4. Obraz testowy 5.

6.5. Wynik działania funkcji minperpoly z parametrem: 2. 6.6. Wynik działania funkcji minperpoly z parametrem: 3. 6.7. Wynik działania funkcji minperpoly z parametrem: 4.

6.8. Wynik działania funkcji minperpoly z parametrem: 5. 6.9. Wynik działania funkcji minperpoly z parametrem: 8.

6.10. Wynik działania funkcji localmean na obrazie oryginalnym 1 dla parametru: ones(5)/25. 6.11. Wynik działania funkcji localmean na obrazie oryginalnym 1 dla parametru: ones(7)/49.

6.11. Wynik działania funkcji localmean na obrazie oryginalnym 1 dla parametru: ones(7)/49. 6.12. Wynik działania funkcji localmean na obrazie oryginalnym 5 dla parametru: ones(5)/25.

6.13. Wynik działania funkcji localmean na obrazie oryginalnym 5 dla parametru: ones(7)/49. 6.14. Wynik działania funkcji localthresh na obrazie oryginalnym 1 dla parametrów: [0 1 0; 1 1 1; 0 1 0], 12, 1.

6.15. Wynik działania funkcji localthresh na obrazie oryginalnym 1 dla parametrów: [0 1 0; 1 1 1; 0 1 0], 6, 2. 6.16. Wynik działania funkcji localthresh na obrazie oryginalnym 2 dla parametrów: [0 1 0; 1 1 1; 0 1 0], 12, 1.

6.17. Wynik działania funkcji localthresh na obrazie oryginalnym 2 dla parametrów: [0 1 0; 1 1 1; 0 1 0], 6, 1. 6.18. Wynik działania funkcji otsuthresh na obrazie oryginalnym 1, obliczony próg: 50.

6.18. Wynik działania funkcji otsuthresh na obrazie oryginalnym 2, obliczony próg: 49.