Algorytm może działać na stałej siatce niepokrywających się komórek (gridSize, która może być mniejsza niż kafelek) lub na kafelkach z nakładaniem się (neighborhoodSize). Domyślnie używane są kafelki bez nakładania się. Klastry w jednej komórce lub jednym kafelku nie są powiązane z klastrami w innej komórce lub innym kafelku. Każdy klaster, który obejmuje granicę komórki lub kafelka, może otrzymać 2 różne etykiety w 2 połówkach. Wszystkie piksele wejściowe z częściowymi maskami są w danych wyjściowych w pełni zamaskowane. Ten algorytm powinien dobrze działać tylko w przypadku obrazów o wąskim zakresie dynamicznym (czyli bajtów lub krótkich liczb całkowitych).
Zobacz: G. Hamerly i C. Elkan. „Learning the k in k-means” (Uczenie się k w k-średnich). NIPS, 2003.
| Wykorzystanie | Zwroty |
|---|---|
ee.Algorithms.Image.Segmentation.GMeans(image, numIterations, pValue, neighborhoodSize, gridSize, uniqueLabels) | Obraz |
| Argument | Typ | Szczegóły |
|---|---|---|
image | Obraz | Obraz wejściowy do klastrowania. |
numIterations | Liczba całkowita, domyślnie: 10 | Liczba iteracji. Domyślna wartość to 10. |
pValue | Liczba zmiennoprzecinkowa, domyślnie: 50 | Poziom istotności testu normalności. |
neighborhoodSize | Liczba całkowita, domyślnie: 0 | Rozmiar okolicy. Wartość, o którą należy rozszerzyć każdy fragment (nakładanie się) podczas obliczania klastrów. Tej opcji nie można używać razem z opcją gridSize. |
gridSize | Liczba całkowita, domyślnie: null | Rozmiar komórki siatki. Jeśli wartość jest większa od 0, algorytm k-średnich zostanie uruchomiony niezależnie w przypadku komórek o tym rozmiarze. Ogranicza to rozmiar każdego klastra do rozmiaru siatki lub mniejszego. Tej opcji nie można używać razem z opcją neighborhoodSize. |
uniqueLabels | Wartość logiczna, domyślnie: true | Jeśli ma wartość true, klastry mają przypisane unikalne identyfikatory. W przeciwnym razie powtarzają się w każdym kafelku lub komórce siatki. |