Raport

Transkrypt

Raport
Raport
Bartosz Paprzycki
[email protected]
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.