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.